Proxy-innstillinger for PHP SoapClient for WSDL og tjenestekall
Konfigurer proxyvalg for PHP SoapClient for WSDL-lasting og tjenestekall uten å legge inn påloggingsinformasjon i User-Agent.
Lasting av ekstern WSDL kan skje inne i SoapClient-konstruktøren. Oppgi proxyen før den første hentingen:
$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,
]);Bruk den ekte WSDL-en, vertsnavn/port for proxyen og den tiltenkte kilden for påloggingsinformasjon. Vertsfeltet er en adresse, og porten er separat.
| Når det feiler | Forespørsel eller operasjon som skal undersøkes |
|---|---|
| Konstruksjon av klienten | WSDL-henting eller dokumentbehandling. |
| Behandling av importert dokument/skjema | Den faktiske ekstra hente-URL-en. |
| Et SOAP-metodekall | Tjenestesluttpunktet som er deklarert i WSDL-en, muligens på en annen vert. |
En arbeidsprosess med bufret WSDL kan hoppe over forespørselen som feiler på en annen maskin. Behold buffer-konfigurasjonen og den faktiske feilende URL-en sammen med sammenligningen, i stedet for å endre proxyen bare basert på vellykket konstruksjon.
proxy_login/proxy_password autentiserer mellomleddet. Destinasjons-login/password og tjenesteautentisering på SOAP-nivå tjener andre lag. Bruk de dedikerte alternativene i stedet for å sette kontolignende headere i User-Agent; påkrevde applikasjonsheadere hører til i et støttet header-grensesnitt.
Loggfør operasjonen, målet og parten som utsteder en utfordring med hemmeligheter fjernet. connection_timeout begrenser opprettelsen av tilkoblingen, ikke hele varigheten av en lang SOAP-operasjon.