Ein lokal service.wsdl kan framleis få SoapClient til å henta eksterne dokument under konstruksjonen. Å gjera den fyrste fila lokal fjernar berre den fyrste nedlastinga:

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

Start ved den fyrste mislukka hentinga, før det fyrste SOAP-forretningskallet. List opp kvar WSDL-import og kvar schema-location, inkludert dokumenta dei igjen viser til. Hald på basis-URL-en eller stien som blir brukt til å løysa kvar relativ referanse. Skil interne vertar frå ressursar som faktisk treng den eksterne proxyen.

Ein eksplisitt SoapClient-proxy kan senda eit internt schema gjennom ein mellommann med eit anna DNS-syn eller ein annan tilgangspolicy. Ein no_proxy-variabel på prosessnivå provar ikkje at denne innlastingsvegen les han. Bruk alternativa som er dokumenterte for PHP-versjonen din; å kalla eit alternativ opp etter ein miljøvariabel lagar ikkje ein veljar per import.

For å rulla ut definisjonane heilt lokalt, skaff dei godkjende versjonane av heile avhengnadssettet, oppdater dei aktuelle importstadene til den lokale pakken og hald på dei relative stibasane deira. Versjoner desse dokumenta saman slik at ein ny rot-WSDL ikkje brukar utdaterte typar.

Lat namespace-identifikatorar vera. Dei kan sjå ut som URL-ar, men dei identifiserer schema-ordforrådet i staden for å seia innlastaren kvar ei fil skal hentast. Å erstatta dei kan endra tenestekontrakten.

Test konstruksjonen på nytt med cache-tilstanden registrert: hurtiglagra definisjonar kan skjula ein manglande avhengnad på éi maskin. Ei overstyring av teneste-URL-en gjeld i ein seinare fase, og ein tilpassa __doRequest() handterer SOAP-utvekslinga; ingen av dei bør ein gå ut frå skriv om eller fangar opp alle schema-nedlastingar under konstruksjonen.

Relaterte artiklar