PHP SoapClient tarpinio serverio nustatymai WSDL ir paslaugų iškvietimams
Sukonfigūruokite PHP SoapClient tarpinio serverio parinktis WSDL krovimui ir paslaugų iškvietimams neįterpdami prisijungimo duomenų į User-Agent.
Nuotolinio WSDL krovimas gali įvykti SoapClient konstruktoriaus viduje. Nurodykite tarpinį serverį prieš tą pirmą gavimą:
$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,
]);Naudokite tikrą WSDL, tarpinio serverio mazgą/portą ir numatytą prisijungimo duomenų šaltinį. Mazgo laukas yra adresas, o jo portas atskiras.
| Kai nepavyksta | Užklausa ar operacija, kurią reikia ištirti |
|---|---|
| Kliento sukūrimas | WSDL gavimas ar dokumento apdorojimas. |
| Importuoto dokumento/schemos apdorojimas | Faktinis papildomas gavimo URL. |
| SOAP metodo iškvietimas | WSDL deklaruotas paslaugos galutinis taškas, galbūt kitame mazge. |
Procesas, naudojantis talpykloje saugomą WSDL, gali praleisti užklausą, kuri nepavyksta kitoje mašinoje. Išsaugokite talpyklos konfigūraciją ir faktinį nepavykusį URL kartu su palyginimu, o ne keiskite tarpinį serverį remdamiesi vien tik sėkmingu sukūrimu.
proxy_login/proxy_password autentifikuoja tarpininką. Paskirties login/password ir SOAP lygio paslaugos autentifikavimas tarnauja kitiems sluoksniams. Naudokite skirtąsias parinktis, o ne dėkite paskyrai panašias antraštes į User-Agent; reikalingos programos antraštės priklauso palaikomai antraščių sąsajai.
Užregistruokite operaciją, tikslą ir šalį, kuri išduoda iššūkį pašalinus slaptus duomenis. connection_timeout riboja ryšio užmezgimą, o ne visą ilgos SOAP operacijos trukmę.