Ang lokal na service.wsdl ay maaari pa ring magtulak sa SoapClient na kumuha ng malalayong dokumento habang binubuo. Ang paggawa sa unang file na lokal ay nag-aalis lamang ng unang download na iyon:

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

Magsimula sa unang nabigong pagkuha, bago ang unang SOAP na pangkalakal na tawag. Ilahad ang bawat import ng WSDL at bawat schema location, kasama ang mga dokumentong tinutukoy nila sa turn. Panatilihin ang base URL o landas na ginagamit upang lutasin ang bawat relatibong sanggunian. Paghiwalayin ang panloob na host mula sa mga mapagkukunang talagang nangangailangan ng panlabas na proxy.

Ang tahasang proxy ng SoapClient ay makapagpapadala ng panloob na schema sa pamamagitan ng tagapamagitan na may ibang pananaw sa DNS o patakaran sa pag-access. Ang variable na no_proxy sa antas ng proseso ay hindi nagpapatunay na binabasa ito ng landas ng paglo-load na ito. Gamitin ang mga opsyong nakadokumento para sa iyong bersyon ng PHP; ang pagpapangalan ng opsyon ayon sa environment variable ay hindi lumilikha ng tagapili bawat import.

Upang i-deploy ang mga depinisyon nang lubos na lokal, kunin ang mga aprubadong bersyon ng buong set ng dependency, i-update ang mga naaangkop na lokasyon ng import sa lokal na bundle at panatilihin ang kanilang mga base ng relatibong landas. Ibersyon ang mga dokumentong iyon nang sama-sama upang ang bagong root WSDL ay hindi gumamit ng mga lipas na uri.

Huwag galawin ang mga identifier ng namespace. Maaaring magmukhang URL ang mga ito, ngunit tinutukoy nila ang bokabularyo ng schema sa halip na sabihin sa loader kung saan kukuha ng file. Ang pagpapalit sa kanila ay maaaring magbago ng kontrata ng serbisyo.

Muling subukan ang pagbuo na nakatala ang estado ng cache: ang mga naka-cache na depinisyon ay maaaring magtago ng nawawalang dependency sa isang makina. Nalalapat ang pag-override ng URL ng serbisyo sa susunod na yugto, at ang pasadyang __doRequest() ang humahawak sa palitan ng SOAP; hindi dapat ipagpalagay na ang alinman sa dalawa ay nagsusulat muli o humaharang sa lahat ng download ng schema sa oras ng pagbuo.

Kaugnay na mga artikulo