V odjemalcu Savon, ki uporablja HTTPI, je proxy del možnosti odjemalca. Velja pri pridobivanju oddaljenega WSDL in pri pošiljanju zahteve SOAP.

client = Savon.client(
  wsdl: 'https://service.example/soap?wsdl',
  proxy: ENV.fetch('SOAP_PROXY_URL'),
  open_timeout: 5,
  read_timeout: 15
)

Primer predpostavlja transport HTTPI. Navedite odobren URL proxyja prek okolja. Za javni preskus SOAP, ki dovoljuje neoverjenega posrednika HTTP, lahko ta URL zagotovi kandidat s seznama proxyjev HTTP; odločitve o overjanju storitve in proxyja hranite ločeno. Če podprta metoda overjanja uporablja podatke v URL-ju, kodirajte rezervirane znake v teh podatkih in dobljeni URL hranite zunaj dnevnikov.

Savon jih imenuje »globalne možnosti«, vendar so lokalne za eno instanco odjemalca. Drug odjemalec, zgrajen drugje, proxyja ne podeduje samodejno.

Pred ponovno uporabo odlomka preverite nameščeni transport. Trenutna dokumentacija Savona te možnosti pripisuje HTTPI; njegov transport Faraday ima svoj vmesnik za nastavitev prek client.faraday in te možnosti, specifične za HTTPI, zavrača. Nastavite izbrani transport, namesto da bi mešali oba vmesnika.

Račun proxyja hranite ločeno od podatkov storitve SOAP in vrednosti WS-Security. Koda 407 proxyja, izziv za prijavo HTTP storitve in napaka SOAP označujejo različne izmenjave. Pridobivanje WSDL lahko spodleti še preden odjemalec izvede katero koli aplikacijsko operacijo.

Sorodni članki