Impostazioni proxy di SoapClient PHP per WSDL e chiamate di servizio
Configura le opzioni proxy di SoapClient PHP per il caricamento di WSDL e le chiamate di servizio senza inserire credenziali nello User-Agent.
Il caricamento di un WSDL remoto può avvenire nel costruttore di SoapClient. Fornisci il proxy prima di quel primo recupero:
$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,
]);Usa il WSDL reale, host/porta del proxy e l'origine delle credenziali prevista. Il campo host è un indirizzo, con la porta separata.
| Quando fallisce | Richiesta o operazione da esaminare |
|---|---|
| Costruzione del client | Recupero del WSDL o elaborazione del documento. |
| Elaborazione di documento/schema importato | L'URL aggiuntivo di recupero effettivo. |
| Una chiamata a un metodo SOAP | L'endpoint del servizio dichiarato nel WSDL, forse su un altro host. |
Un processo che usa WSDL in cache può saltare la richiesta che fallisce su un'altra macchina. Conserva la configurazione della cache e l'URL effettivamente fallito insieme al confronto, invece di cambiare il proxy solo in base alla riuscita della costruzione.
proxy_login/proxy_password autenticano l'intermediario. login/password di destinazione e l'autenticazione del servizio a livello SOAP servono altri livelli. Usa le opzioni dedicate invece di mettere header simili ad account nello User-Agent; gli header applicativi richiesti appartengono a un'interfaccia header supportata.
Registra l'operazione, il target e la parte che emette una richiesta di autenticazione con i segreti rimossi. connection_timeout limita la creazione della connessione, non la durata complessiva di una lunga operazione SOAP.