Configurarea unui proxy HTTPI pentru Savon la cererile WSDL și SOAP
Configurați proxy-ul pe un client Savon HTTPI și luați în calcul atât preluarea WSDL la distanță, cât și apelurile SOAP.
Într-un client Savon care folosește HTTPI, proxy-ul face parte din opțiunile clientului. Se aplică la preluarea unui WSDL la distanță și la trimiterea cererii SOAP.
client = Savon.client(
wsdl: 'https://service.example/soap?wsdl',
proxy: ENV.fetch('SOAP_PROXY_URL'),
open_timeout: 5,
read_timeout: 15
)
Exemplul presupune transportul HTTPI. Furnizați un URL de proxy aprobat prin intermediul mediului. Pentru un test SOAP public care permite un intermediar HTTP neautentificat, un candidat din lista de proxy HTTP poate furniza acel URL; păstrați separate deciziile de autentificare ale serviciului și ale proxy-ului. Dacă metoda de autentificare acceptată folosește date de acces în URL, codificați caracterele rezervate din aceste date și păstrați URL-ul rezultat în afara jurnalelor.
Savon le numește „opțiuni globale”, dar ele sunt locale unei singure instanțe de client. Un alt client construit în altă parte nu moștenește automat proxy-ul.
Verificați transportul instalat înainte de a refolosi fragmentul. Documentația actuală a Savon atribuie aceste opțiuni HTTPI; transportul Faraday are propria interfață de configurare prin client.faraday și respinge aceste opțiuni specifice HTTPI. Configurați transportul ales în loc să amestecați cele două interfețe.
Păstrați contul de proxy separat de datele de acces ale serviciului SOAP și de valorile WS-Security. Codul 407 al proxy-ului, provocarea de autentificare HTTP a serviciului și o eroare SOAP indică schimburi diferite. Preluarea WSDL poate eșua înainte ca clientul să fi efectuat vreo operație de aplicație.