PHP SoapClient proxy postavke za WSDL i pozive servisa
Konfigurirajte proxy opcije PHP SoapClient za učitavanje WSDL-a i pozive servisa bez ubacivanja vjerodajnica u User-Agent.
Učitavanje udaljenog WSDL-a može se dogoditi unutar konstruktora SoapClient. Navedite proxy prije tog prvog preuzimanja:
$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,
]);Koristite stvarni WSDL, host/port proxyja i predviđeni izvor vjerodajnica. Polje hosta je adresa, a njegov port je odvojen.
| Kada ne uspije | Zahtjev ili operacija koju treba provjeriti |
|---|---|
| Konstrukcija klijenta | Preuzimanje WSDL-a ili obrada dokumenta. |
| Obrada uvezenog dokumenta/šeme | Stvarni dodatni URL za preuzimanje. |
| Poziv SOAP metode | Krajnja točka servisa deklarisana u WSDL-u, moguće na drugom hostu. |
Radnik koji koristi keširani WSDL može preskočiti zahtjev koji ne uspije na drugom računaru. Čuvajte konfiguraciju keša i stvarni neuspjeli URL uz poređenje, umjesto da mijenjate proxy samo na osnovu uspješne konstrukcije.
proxy_login/proxy_password autentificiraju posrednika. Odredište login/password i autentifikacija servisa na SOAP nivou služe drugim slojevima. Koristite namjenske opcije umjesto stavljanja zaglavlja nalik računu u User-Agent; potrebna zaglavlja aplikacije pripadaju podržanom interfejsu zaglavlja.
Zabilježite operaciju, cilj i stranu koja izdaje izazov uz uklonjene tajne. connection_timeout ograničava uspostavljanje veze, a ne ukupno trajanje duge SOAP operacije.