Загрузка выдаленага WSDL можа адбывацца ўнутры канструктара SoapClient. Падайце проксі перад гэтым першым атрыманнем:

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

Выкарыстоўвайце сапраўдны WSDL, хост/порт проксі і меркаваную крыніцу ўліковых даных. Поле хоста — гэта адрас, а яго порт асобны.

Калі гэта не ўдаеццаЗапыт або аперацыя для праверкі
Стварэнне кліентаАтрыманне WSDL або апрацоўка дакумента.
Апрацоўка імпартаванага дакумента/схемыФактычны дадатковы URL атрымання.
Выклік метаду SOAPКанечная кропка службы, абвешчаная ў WSDL, магчыма, на іншым хосце.

Працоўны працэс з кэшаваным WSDL можа прапусціць запыт, які не ўдаецца на іншай машыне. Трымайце налады кэша і фактычны няўдалы URL разам з параўнаннем, а не змяняйце проксі толькі на падставе паспяховага стварэння.

proxy_login/proxy_password аўтэнтыфікуюць пасярэдніка. Прызначэнне login/password і аўтэнтыфікацыя службы на ўзроўні SOAP служаць іншым пластам. Выкарыстоўвайце спецыяльныя параметры замест таго, каб змяшчаць падобныя да ўліковых запісаў загалоўкі ў User-Agent; абавязковыя загалоўкі праграмы павінны быць у падтрыманым інтэрфейсе загалоўкаў.

Запішыце аперацыю, мэту і бок, які выдае выклік з выдаленнем сакрэтаў. connection_timeout абмяжоўвае ўсталяванне злучэння, а не ўсю працягласць доўгай аперацыі SOAP.

Падобныя артыкулы