Setări de proxy pentru SoapClient PHP pentru WSDL și apeluri de serviciu
Configurați opțiunile de proxy ale SoapClient PHP pentru încărcarea WSDL și apelurile de serviciu fără a injecta acreditările în User-Agent.
Încărcarea unui WSDL la distanță poate avea loc în constructorul SoapClient. Furnizați proxy-ul înainte de acea primă preluare:
$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,
]);Folosiți WSDL-ul real, gazda/portul proxy-ului și sursa de acreditări dorită. Câmpul gazdă este o adresă, iar portul este separat.
| Când eșuează | Cererea sau operațiunea de inspectat |
|---|---|
| Construirea clientului | Preluarea WSDL sau procesarea documentului. |
| Procesarea documentului/schemei importate | URL-ul suplimentar real de preluare. |
| Un apel de metodă SOAP | Punctul final al serviciului declarat în WSDL, posibil pe altă gazdă. |
Un proces care folosește WSDL în cache poate sări peste cererea care eșuează pe altă mașină. Păstrați configurația cache-ului și URL-ul care a eșuat efectiv împreună cu comparația, în loc să schimbați proxy-ul doar pe baza unei construiri reușite.
proxy_login/proxy_password autentifică intermediarul. login/password de destinație și autentificarea serviciului la nivel SOAP deservesc alte straturi. Folosiți opțiunile dedicate în loc să puneți antete asemănătoare conturilor în User-Agent; antetele de aplicație necesare aparțin unei interfețe de antete acceptate.
Înregistrați operațiunea, ținta și partea care emite o provocare cu secretele eliminate. connection_timeout limitează stabilirea conexiunii, nu durata totală a unei operațiuni SOAP lungi.