Налады проксі PHP SoapClient для WSDL і выклікаў службаў
Наладзьце параметры проксі PHP SoapClient для загрузкі WSDL і выклікаў службаў, не ўводзячы ўліковыя даныя ў User-Agent.
Загрузка выдаленага 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.