Configurações de proxy do SoapClient PHP para WSDL e chamadas de serviço
Configure as opções de proxy do SoapClient PHP para carregar WSDL e fazer chamadas de serviço sem injetar credenciais no User-Agent.
O carregamento de um WSDL remoto pode ocorrer dentro do construtor do SoapClient. Forneça o proxy antes dessa primeira obtenção:
$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/porta do proxy e a origem de credenciais pretendida. O campo de host é um endereço, com a porta separada.
| Quando falha | Solicitação ou operação a inspecionar |
|---|---|
| Construção do cliente | Obtenção do WSDL ou processamento do documento. |
| Processamento de documento/esquema importado | A URL adicional real de obtenção. |
| Uma chamada de método SOAP | O endpoint do serviço declarado no WSDL, possivelmente em outro host. |
Um processo que usa WSDL em cache pode ignorar a solicitação que falha em outra máquina. Mantenha a configuração do cache e a URL que realmente falhou junto com a comparação, em vez de alterar o proxy apenas com base no sucesso da construção.
proxy_login/proxy_password autenticam o intermediário. Os login/password de destino e a autenticação do serviço no nível SOAP atendem a outras camadas. Use as opções dedicadas em vez de colocar cabeçalhos semelhantes a contas no User-Agent; os cabeçalhos de aplicação necessários pertencem a uma interface de cabeçalhos suportada.
Registre a operação, o destino e a parte que emite um desafio com os segredos removidos. connection_timeout limita o estabelecimento da conexão, não a duração completa de uma operação SOAP longa.