Жергілікті service.wsdl әлі де SoapClient-ті құру кезінде қашықтағы құжаттарды жүктеуге мәжбүрлей алады. Бірінші файлды жергілікті ету тек сол бірінші жүктеуді ғана жояды:

local service.wsdl
  → internal Common.xsd
  → external Types.xsd
       → another schema location

Алғашқы SOAP іскерлік шақыруының алдында, бірінші сәтсіз алудан бастаңыз. Әрбір WSDL импортын және әрбір schema location-ды, олар өз кезегінде сілтейтін құжаттарды қоса, тізімдеңіз. Әрбір салыстырмалы сілтемені шешу үшін қолданылатын негізгі URL немесе жолды сақтаңыз. Ішкі хосттарды шынымен сыртқы proxy қажет ететін ресурстардан бөліңіз.

Айқын SoapClient proxy ішкі schema-ны өзге DNS көрінісі немесе қатынау саясаты бар делдал арқылы жібере алады. Процесс деңгейіндегі no_proxy айнымалысы бұл жүктеу жолы оны оқитынын дәлелдемейді. PHP нұсқаңыз үшін құжатталған опцияларды пайдаланыңыз; опцияны орта айнымалысының атымен атау әр импорт үшін селектор жасамайды.

Анықтамаларды толығымен жергілікті орналастыру үшін бүкіл тәуелділік жинағының бекітілген нұсқаларын алыңыз, тиісті импорт орындарын жергілікті бумаға жаңартыңыз және олардың салыстырмалы жол негіздерін сақтаңыз. Жаңа тамыр WSDL ескірген типтерді қолданбауы үшін сол құжаттарды бірге нұсқалаңыз.

Namespace идентификаторларын тиіспеңіз. Олар URL сияқты көрінуі мүмкін, бірақ schema лексикасын анықтайды, жүктеушіге файлды қайдан алу керегін айтпайды. Оларды ауыстыру қызмет шартын өзгертуі мүмкін.

Кэш күйін тіркеп, құруды қайта тексеріңіз: кэштелген анықтамалар бір машинада жетіспейтін тәуелділікті жасыруы мүмкін. Қызмет URL-ін қайта анықтау кейінгі кезеңге қолданылады, ал теңшелген __doRequest() SOAP алмасуын өңдейді; екеуінің де құру кезіндегі барлық schema жүктеулерін қайта жазады немесе ұстап алады деп болжауға болмайды.

Қатысты мақалалар