Nastavení proxy PHP SoapClient pro WSDL a volání služeb
Nakonfigurujte možnosti proxy PHP SoapClient pro načítání WSDL a volání služeb bez vkládání přihlašovacích údajů do User-Agent.
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že | Požadavek nebo operace k prozkoumání |
|---|---|
| Vytvoření klienta | Načtení WSDL nebo zpracování dokumentu. |
| Zpracování importovaného dokumentu/schématu | Skutečná další URL pro načtení. |
| Volání metody SOAP | Koncový 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.