A carga dun WSDL remoto pode ocorrer dentro do construtor de SoapClient. Subministre o proxy antes desa primeira obtención:

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

Use o WSDL real, o host/porto do proxy e a fonte de credenciais prevista. O campo de host é un enderezo, co seu porto separado.

Cando fallaSolicitude ou operación a inspeccionar
Construción do clienteObtención do WSDL ou procesamento do documento.
Procesamento do documento/esquema importadoO URL adicional real de obtención.
Unha chamada a un método SOAPO punto final do servizo declarado no WSDL, posiblemente noutro host.

Un proceso que usa WSDL en caché pode omitir a solicitude que falla noutra máquina. Manteña a configuración da caché e o URL real que fallou xunto coa comparación, en lugar de cambiar o proxy só polo éxito da construción.

proxy_login/proxy_password autentican o intermediario. As login/password de destino e a autenticación do servizo a nivel SOAP serven outras capas. Use as opcións dedicadas en lugar de poñer cabeceiras semellantes a contas no User-Agent; as cabeceiras de aplicación necesarias pertencen a unha interface de cabeceiras admitida.

Rexistre a operación, o destino e a parte que emite un desafío co segredo eliminado. connection_timeout limita o establecemento da conexión, non a duración completa dunha operación SOAP longa.

Artigos relacionados