Opsæt en Savon HTTPI-proxy til WSDL- og SOAP-anmodninger
Opsæt proxyen på en Savon HTTPI-klient, og tag højde for både hentning af ekstern WSDL og SOAP-kald.
I en Savon-klient, der bruger HTTPI, hører proxyen til klientens indstillinger. Den gælder, når en ekstern WSDL hentes, og når SOAP-anmodningen sendes.
client = Savon.client(
wsdl: 'https://service.example/soap?wsdl',
proxy: ENV.fetch('SOAP_PROXY_URL'),
open_timeout: 5,
read_timeout: 15
)
Eksemplet forudsætter HTTPI-transporten. Angiv en godkendt proxy-URL via miljøet. Til en offentlig SOAP-test, der tillader en ikke-godkendt HTTP-mellemmand, kan en kandidat fra HTTP-proxylisten levere den URL; hold beslutninger om service- og proxygodkendelse adskilt. Hvis den understøttede godkendelsesmetode bruger legitimationsoplysninger i URL'en, kod de reserverede tegn i disse oplysninger, og hold den resulterende URL ude af logfilerne.
Savon kalder dem “globale indstillinger”, men de er lokale for én klientinstans. En anden klient, der oprettes et andet sted, arver ikke proxyen automatisk.
Kontroller den installerede transport, før uddraget genbruges. Savons nuværende dokumentation henfører disse indstillinger til HTTPI; dens Faraday-transport har sin egen opsætningsgrænseflade via client.faraday og afviser disse HTTPI-specifikke indstillinger. Konfigurer den valgte transport i stedet for at blande de to grænseflader.
Hold proxykontoen adskilt fra servicelegitimationsoplysninger til SOAP og fra WS-Security-værdier. Proxyens 407, tjenestens HTTP-loginudfordring og en SOAP-fejl angiver forskellige udvekslinger. Hentning af WSDL kan fejle, før klienten overhovedet har udført en applikationshandling.