Lokální WSDL může stále poslat SoapClient do sítě
Sledujte tranzitivní importy WSDL a XML Schema, když lokální definice služby stále míchá interní a externí proxy trasy.
Lokální service.wsdl může stále způsobit, že SoapClient při sestavování stáhne vzdálené dokumenty. Zlokálnínění prvního souboru odstraní jen to první stahování:
local service.wsdl
→ internal Common.xsd
→ external Types.xsd
→ another schema location
Začněte u prvního neúspěšného načtení, před prvním obchodním voláním SOAP. Vypište každý import WSDL a každé umístění schématu, včetně dokumentů, na které samy odkazují. Zachovejte základní URL nebo cestu použitou k vyřešení každého relativního odkazu. Oddělte interní hostitele od zdrojů, které skutečně potřebují externí proxy.
Explicitní proxy SoapClient může poslat interní schéma přes prostředníka s jiným pohledem na DNS nebo jinou přístupovou politikou. Proměnná no_proxy na úrovni procesu nedokazuje, že ji tato cesta načítání čte. Použijte možnosti dokumentované pro vaši verzi PHP; pojmenování možnosti podle proměnné prostředí nevytváří selektor pro každý import.
Chcete-li definice nasadit zcela lokálně, získejte schválené verze celé sady závislostí, aktualizujte příslušná umístění importů na lokální balík a zachovejte jejich základy relativních cest. Verzujte tyto dokumenty společně, aby nový kořenový WSDL nepoužíval zastaralé typy.
Nesahejte na identifikátory jmenných prostorů. Mohou vypadat jako URL, ale určují slovník schématu, místo aby načítači říkaly, odkud soubor získat. Jejich nahrazení může změnit kontrakt služby.
Znovu otestujte sestavení se zaznamenaným stavem mezipaměti: uložené definice mohou na jednom stroji skrýt chybějící závislost. Přepsání URL služby platí pro pozdější fázi a vlastní __doRequest() zajišťuje výměnu SOAP; u žádného z nich nelze předpokládat, že přepisuje nebo zachycuje všechna stahování schémat při sestavování.