Načítání vzdáleného WSDL může proběhnout uvnitř konstruktoru SoapClient. Zadejte proxy před tímto prvním načtením:

$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,
]);

Použijte skutečný WSDL, hostitel/port proxy a zamýšlený zdroj přihlašovacích údajů. Pole hostitele je adresa, port je oddělený.

Když to selžePožadavek nebo operace k prozkoumání
Vytvoření klientaNačtení WSDL nebo zpracování dokumentu.
Zpracování importovaného dokumentu/schématuSkutečná další URL pro načtení.
Volání metody SOAPKoncový bod služby deklarovaný ve WSDL, případně na jiném hostiteli.

Proces používající kešovaný WSDL může přeskočit požadavek, který na jiném stroji selže. Uchovávejte konfiguraci keše a skutečnou neúspěšnou URL spolu s porovnáním, místo abyste měnili proxy jen na základě úspěšného vytvoření.

proxy_login/proxy_password ověřují zprostředkovatele. Cílové login/password a autentizace služby na úrovni SOAP slouží jiným vrstvám. Použijte vyhrazené možnosti místo vkládání hlaviček podobných účtu do User-Agent; požadované hlavičky aplikace patří do podporovaného rozhraní hlaviček.

Zaznamenejte operaci, cíl a stranu, která vydává výzvu s odstraněnými tajemstvími. connection_timeout omezuje navázání spojení, ne celkovou dobu dlouhé operace SOAP.

Související články