Savon HTTPI tarpinio serverio konfigūravimas WSDL ir SOAP užklausoms
Sukonfigūruokite tarpinį serverį Savon HTTPI kliente ir atsižvelkite tiek į nuotolinio WSDL gavimą, tiek į SOAP kvietimus.
Savon kliente, kuris naudoja HTTPI, tarpinis serveris priklauso kliento parinktims. Jis taikomas gaunant nuotolinį WSDL ir siunčiant SOAP užklausą.
client = Savon.client(
wsdl: 'https://service.example/soap?wsdl',
proxy: ENV.fetch('SOAP_PROXY_URL'),
open_timeout: 5,
read_timeout: 15
)
Pavyzdys numato HTTPI transportą. Per aplinką pateikite patvirtintą tarpinio serverio URL. Viešam SOAP testui, leidžiančiam neautentifikuotą HTTP tarpininką, URL gali pateikti kandidatas iš HTTP tarpinių serverių sąrašo; paslaugos ir tarpinio serverio autentifikavimo sprendimus laikykite atskirai. Jei palaikomas autentifikavimo metodas naudoja URL esančius duomenis, užkoduokite tuose duomenyse esančius rezervuotus simbolius ir gautą URL laikykite už žurnalų ribų.
Savon juos vadina „visuotinėmis parinktimis“, bet jos galioja tik vienam kliento egzemplioriui. Kitur sukurtas klientas tarpinio serverio automatiškai nepaveldi.
Prieš pakartotinai naudodami ištrauką patikrinkite įdiegtą transportą. Dabartinė Savon dokumentacija šias parinktis priskiria HTTPI; jo Faraday transportas turi savo nustatymo sąsają per client.faraday ir atmeta šias HTTPI būdingas parinktis. Konfigūruokite pasirinktą transportą, o ne maišykite dvi sąsajas.
Laikykite tarpinio serverio paskyrą atskirai nuo SOAP paslaugos duomenų ir WS-Security reikšmių. Tarpinio serverio 407, paslaugos HTTP prisijungimo iššūkis ir SOAP klaida žymi skirtingus mainus. WSDL gavimas gali nepavykti dar prieš klientui atliekant bet kokią programos operaciją.