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 dohvaćanja:
$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 pregledati |
|---|---|
| Izgradnja klijenta | Dohvaćanje WSDL-a ili obrada dokumenta. |
| Obrada uvezenog dokumenta/sheme | Stvarni dodatni URL za dohvaćanje. |
| Poziv SOAP metode | Krajnja točka servisa deklarirana u WSDL-u, moguće na drugom hostu. |
Radnik koji koristi keširani WSDL može preskočiti zahtjev koji ne uspijeva na drugom računaru. Čuvajte konfiguraciju keša i stvarni neuspjeli URL uz poređenje, umjesto da mijenjate proxy samo na osnovu uspješne izgradnje.
proxy_login/proxy_password autentificiraju posrednika. Odredišne login/password i autentifikacija servisa na SOAP razini služe drugim slojevima. Koristite namjenske opcije umjesto stavljanja zaglavlja nalik računu u User-Agent; potrebna zaglavlja aplikacije pripadaju podržanom sučelju 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.