Etä-WSDL:n lataus voi tapahtua SoapClient-konstruktorin sisällä. Anna välityspalvelin ennen tuota ensimmäistä noutoa:

$client = new SoapClient('https://service.example.com/api?wsdl', [
    'proxy_host' => '203.0.113.10',
    'proxy_port' => 8080,
    'proxy_login' => getenv('PROXY_USER'),
    'proxy_password' => getenv('PROXY_PASSWORD'),
    'connection_timeout' => 5,
    'exceptions' => true,
]);

Käytä todellista WSDL:ää, välityspalvelimen isäntää/porttia ja aiottua tunnistetietojen lähdettä. Isäntäkenttä on osoite, ja sen portti on erillinen.

Kun se epäonnistuuTutkittava pyyntö tai toiminto
Asiakkaan muodostusWSDL:n nouto tai asiakirjan käsittely.
Tuodun asiakirjan/skeeman käsittelyTodellinen ylimääräinen nouto-URL.
SOAP-menetelmäkutsuWSDL:ssä ilmoitettu palvelun päätepiste, mahdollisesti toisella isännällä.

Välimuistiin tallennettua WSDL:ää käyttävä työprosessi voi ohittaa pyynnön, joka epäonnistuu toisella koneella. Säilytä välimuistin asetukset ja todellinen epäonnistunut URL vertailun yhteydessä sen sijaan, että vaihtaisit välityspalvelinta pelkän onnistuneen muodostuksen perusteella.

proxy_login/proxy_password todentavat välittäjän. Kohde-login/password ja SOAP-tason palvelutodennus palvelevat muita kerroksia. Käytä erillisiä asetuksia sen sijaan, että laittaisit tiliä muistuttavia otsakkeita User-Agentiin; tarvittavat sovellusotsakkeet kuuluvat tuettuun otsakerajapintaan.

Kirjaa toiminto, kohde ja haasteen esittävä osapuoli salaisuudet poistettuina. connection_timeout rajoittaa yhteyden muodostusta, ei pitkän SOAP-toiminnon kokonaiskestoa.

Aiheeseen liittyvät artikkelit