Cilësimet e proxy-t të PHP SoapClient për WSDL dhe thirrjet e shërbimit
Konfiguroni opsionet e proxy-t të PHP SoapClient për ngarkimin e WSDL dhe thirrjet e shërbimit pa injektuar kredencialet në User-Agent.
Ngarkimi i një WSDL në distancë mund të ndodhë brenda konstruktorit të SoapClient. Jepni proxy-n përpara asaj marrjeje të parë:
$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,
]);Përdorni WSDL-në reale, hostin/portin e proxy-t dhe burimin e synuar të kredencialeve. Fusha e hostit është një adresë, ndërsa porta e saj është e veçantë.
| Kur dështon | Kërkesa ose operacioni për t'u inspektuar |
|---|---|
| Ndërtimi i klientit | Marrja e WSDL ose përpunimi i dokumentit. |
| Përpunimi i dokumentit/skema të importuar | URL-ja shtesë reale e marrjes. |
| Thirrje metode SOAP | Pika fundore e shërbimit e deklaruar në WSDL, ndoshta në një host tjetër. |
Një proces që përdor WSDL të ruajtur në cache mund të anashkalojë kërkesën që dështon në një makinë tjetër. Mbani konfigurimin e cache-s dhe URL-në që dështoi në të vërtetë bashkë me krahasimin, në vend që të ndryshoni proxy-n vetëm bazuar në ndërtimin e suksesshëm.
proxy_login/proxy_password vërtetojnë ndërmjetësin. login/password e destinacionit dhe vërtetimi i shërbimit në nivel SOAP shërbejnë shtresa të tjera. Përdorni opsionet e dedikuara në vend që të vendosni tituj si llogari në User-Agent; titujt e aplikacionit të kërkuar i përkasin një ndërfaqeje titujsh të mbështetur.
Regjistroni operacionin, objektivin dhe palën që lëshon sfidën me sekretet e hequra. connection_timeout kufizon vendosjen e lidhjes, jo kohëzgjatjen totale të një operacioni të gjatë SOAP.