Lokalni WSDL i dalje može poslati SoapClient na mrežu
Pratite tranzitivne WSDL i XML Schema uvoze kada lokalna definicija usluge još uvijek miješa interne i vanjske proxy rute.
Lokalni service.wsdl i dalje može natjerati SoapClient da tijekom izgradnje dohvati udaljene dokumente. Činjenje prvog fajla lokalnim uklanja samo to prvo preuzimanje:
local service.wsdl
→ internal Common.xsd
→ external Types.xsd
→ another schema location
Počnite od prvog neuspjelog dohvaćanja, prije prvog SOAP poslovnog poziva. Popišite svaki WSDL uvoz i lokaciju sheme, uključujući dokumente na koje oni dalje upućuju. Zadržite osnovni URL ili putanju koja se koristi za razrješavanje svake relativne reference. Odvojite interne hostove od resursa kojima doista treba vanjski proxy.
Eksplicitni SoapClient proxy može poslati internu shemu kroz posrednika s drukčijim pogledom na DNS ili pravilom pristupa. Varijabla no_proxy na razini procesa ne dokazuje da je ovaj put učitavanja čita. Koristite opcije dokumentirane za vašu PHP verziju; imenovanje opcije po varijabli okruženja ne stvara selektor za svaki uvoz.
Da biste definicije u potpunosti postavili lokalno, nabavite odobrene verzije cijelog skupa ovisnosti, ažurirajte relevantne lokacije uvoza na lokalni paket i sačuvajte njihove osnove relativnih putanja. Verzionirajte te dokumente zajedno kako novi korijenski WSDL ne bi koristio zastarjele tipove.
Ne dirajte identifikatore imenskih prostora. Mogu izgledati kao URL-ovi, ali identificiraju rječnik sheme umjesto da kažu učitavaču odakle da preuzme fajl. Njihova zamjena može promijeniti ugovor usluge.
Ponovno testirajte izgradnju sa zabilježenim stanjem predmemorije: predmemorirane definicije mogu sakriti nedostajuću ovisnost na jednom stroju. Nadjačavanje URL-a usluge primjenjuje se u kasnijoj fazi, a prilagođeni __doRequest() obrađuje SOAP razmjenu; ni za jedno se ne smije pretpostaviti da prepisuje ili presreće sva preuzimanja sheme u vrijeme izgradnje.