PHP SoapClientin välityspalvelinasetukset WSDL:lle ja palvelukutsuille
Määritä PHP SoapClientin välityspalvelinasetukset WSDL:n lataamista ja palvelukutsuja varten lisäämättä tunnistetietoja User-Agentiin.
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äonnistuu | Tutkittava pyyntö tai toiminto |
|---|---|
| Asiakkaan muodostus | WSDL:n nouto tai asiakirjan käsittely. |
| Tuodun asiakirjan/skeeman käsittely | Todellinen ylimääräinen nouto-URL. |
| SOAP-menetelmäkutsu | WSDL: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.