Vietējs WSDL joprojām var sūtīt SoapClient tīklā
Sekojiet transitīvajiem WSDL un XML Schema importiem, kad vietēja pakalpojuma definīcija joprojām sajauc iekšējos un ārējos proxy maršrutus.
Vietējs service.wsdl joprojām var likt SoapClient būvēšanas laikā iegūt attālinātus dokumentus. Pirmā faila padarīšana par vietēju noņem tikai to pirmo lejupielādi:
local service.wsdl
→ internal Common.xsd
→ external Types.xsd
→ another schema location
Sāciet ar pirmo neizdevušos iegūšanu, pirms pirmā SOAP darījuma izsaukuma. Uzskaitiet katru WSDL importu un katru schema location, tostarp dokumentus, uz kuriem tie savukārt atsaucas. Saglabājiet bāzes URL vai ceļu, ko izmanto katras relatīvās atsauces atrisināšanai. Atdaliet iekšējos hostus no resursiem, kuriem patiešām nepieciešams ārējais proxy.
Skaidrs SoapClient proxy var sūtīt iekšēju schema caur starpnieku ar atšķirīgu DNS skatījumu vai piekļuves politiku. Procesa līmeņa no_proxy mainīgais nepierāda, ka šis ielādes ceļš to lasa. Izmantojiet jūsu PHP versijai dokumentētās opcijas; opcijas nosaukšana pēc vides mainīgā nerada atlasītāju katram importam.
Lai definīcijas izvietotu pilnīgi lokāli, iegūstiet apstiprinātās visas atkarību kopas versijas, atjauniniet attiecīgās importa vietas uz vietējo pakotni un saglabājiet to relatīvo ceļu bāzes. Versionējiet šos dokumentus kopā, lai jauns saknes WSDL neizmantotu novecojušus tipus.
Neaiztieciet namespace identifikatorus. Tie var izskatīties kā URL, bet tie identificē schema vārdu krājumu, nevis pasaka ielādētājam, no kurienes iegūt failu. To aizstāšana var mainīt pakalpojuma līgumu.
Pārbaudiet būvēšanu vēlreiz ar fiksētu kešatmiņas stāvokli: kešatmiņā saglabātas definīcijas var paslēpt trūkstošu atkarību vienā mašīnā. Pakalpojuma URL pārrakstīšana attiecas uz vēlāku posmu, un pielāgots __doRequest() apstrādā SOAP apmaiņu; nevienu no tiem nevajadzētu uzskatīt par tādu, kas pārraksta vai pārtver visas schema lejupielādes būvēšanas laikā.