Das Laden einer entfernten WSDL kann im Konstruktor von SoapClient erfolgen. Geben Sie den Proxy vor diesem ersten Abruf an:

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

Verwenden Sie die echte WSDL, Host/Port des Proxys und die vorgesehene Quelle für Anmeldedaten. Das Host-Feld ist eine Adresse, der Port steht separat.

Wenn es fehlschlägtZu prüfende Anfrage oder Operation
Erzeugung des ClientsWSDL-Abruf oder Dokumentverarbeitung.
Verarbeitung importierter Dokumente/SchemataDie tatsächliche zusätzliche Abruf-URL.
Ein SOAP-MethodenaufrufDer in der WSDL deklarierte Dienstendpunkt, möglicherweise auf einem anderen Host.

Ein Prozess mit zwischengespeicherter WSDL kann die Anfrage überspringen, die auf einem anderen Rechner fehlschlägt. Behalten Sie die Cache-Konfiguration und die tatsächlich fehlgeschlagene URL beim Vergleich bei, statt den Proxy nur aufgrund einer erfolgreichen Erzeugung zu ändern.

proxy_login/proxy_password authentifizieren den Vermittler. Ziel-login/password und Dienstauthentifizierung auf SOAP-Ebene dienen anderen Schichten. Verwenden Sie die dedizierten Optionen, statt kontenähnliche Header in den User-Agent zu setzen; erforderliche Anwendungsheader gehören in eine unterstützte Header-Schnittstelle.

Erfassen Sie die Operation, das Ziel und die Partei, die eine Aufforderung ausgibt mit entfernten Geheimnissen. connection_timeout begrenzt den Verbindungsaufbau, nicht die Gesamtdauer einer langen SOAP-Operation.

Ähnliche Artikel