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