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 nepavykstaUžklausa ar operacija, kurią reikia ištirti
Kliento sukūrimasWSDL gavimas ar dokumento apdorojimas.
Importuoto dokumento/schemos apdorojimasFaktinis papildomas gavimo URL.
SOAP metodo iškvietimasWSDL 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ę.

Susiję straipsniai