PHP SoapClient-proxyinstellingen voor WSDL en serviceaanroepen
Configureer proxyopties van PHP SoapClient voor het laden van WSDL en serviceaanroepen zonder inloggegevens in de User-Agent te zetten.
Het laden van een externe WSDL kan in de constructor van SoapClient gebeuren. Geef de proxy op vóór die eerste ophaalactie:
$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,
]);Gebruik de echte WSDL, de host/poort van de proxy en de bedoelde bron van inloggegevens. Het hostveld is een adres, met de poort apart.
| Wanneer het mislukt | Verzoek of bewerking om te onderzoeken |
|---|---|
| Constructie van de client | WSDL-ophalen of documentverwerking. |
| Verwerking van geïmporteerd document/schema | De werkelijke extra ophaal-URL. |
| Een SOAP-methodeaanroep | Het service-eindpunt dat in de WSDL is gedeclareerd, mogelijk op een andere host. |
Een proces met gecachte WSDL kan het verzoek overslaan dat op een andere machine mislukt. Bewaar de cacheconfiguratie en de werkelijk mislukte URL bij de vergelijking, in plaats van de proxy alleen op basis van een geslaagde constructie te wijzigen.
proxy_login/proxy_password authenticeren de tussenpartij. Bestemmings-login/password en serviceauthenticatie op SOAP-niveau dienen andere lagen. Gebruik de speciale opties in plaats van accountachtige headers in de User-Agent te zetten; vereiste applicatieheaders horen in een ondersteunde headerinterface.
Leg de bewerking, het doel en de partij die een uitdaging uitgeeft vast met geheimen verwijderd. connection_timeout begrenst het tot stand brengen van de verbinding, niet de volledige duur van een lange SOAP-bewerking.