Прокси поставке 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 операције.