Inläsning av extern WSDL kan ske i SoapClient-konstruktorn. Ange proxyn före den första hämtningen:

$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,
]);

Använd den riktiga WSDL:en, proxyns värd/port och den avsedda källan för inloggningsuppgifter. Värdfältet är en adress, och porten är separat.

När det misslyckasBegäran eller åtgärd att undersöka
Konstruktion av klientenWSDL-hämtning eller dokumentbearbetning.
Bearbetning av importerat dokument/schemaDen faktiska extra hämtnings-URL:en.
Ett SOAP-metodanropTjänstens slutpunkt som deklareras i WSDL:en, möjligen på en annan värd.

En arbetsprocess med cachad WSDL kan hoppa över begäran som misslyckas på en annan maskin. Behåll cachekonfigurationen och den faktiska misslyckade URL:en tillsammans med jämförelsen, i stället för att ändra proxyn enbart utifrån en lyckad konstruktion.

proxy_login/proxy_password autentiserar mellanledet. Destinations-login/password och tjänsteautentisering på SOAP-nivå tjänar andra lager. Använd de dedikerade alternativen i stället för att sätta kontoliknande rubriker i User-Agent; nödvändiga applikationsrubriker hör till ett stött rubrikgränssnitt.

Logga åtgärden, målet och parten som utfärdar en utmaning med hemligheter borttagna. connection_timeout begränsar upprättandet av anslutningen, inte hela varaktigheten för en lång SOAP-åtgärd.

Relaterade artiklar