Konfigurer en Savon HTTPI-proxy for WSDL- og SOAP-forespørsler
Konfigurer proxyen på en Savon HTTPI-klient og ta høyde for både henting av ekstern WSDL og SOAP-kall.
I en Savon-klient som bruker HTTPI, hører proxyen til klientens innstillinger. Den gjelder når en ekstern WSDL hentes, og når SOAP-forespørselen sendes.
client = Savon.client(
wsdl: 'https://service.example/soap?wsdl',
proxy: ENV.fetch('SOAP_PROXY_URL'),
open_timeout: 5,
read_timeout: 15
)
Eksempelet forutsetter HTTPI-transporten. Oppgi en godkjent proxy-URL via miljøet. For en offentlig SOAP-test som tillater en uautentisert HTTP-mellomledd, kan en kandidat fra HTTP-proxylisten levere den URL-en; hold beslutninger om tjeneste- og proxyautentisering adskilt. Hvis den støttede autentiseringsmetoden bruker påloggingsinformasjon i URL-en, kode de reserverte tegnene i denne informasjonen og hold den resulterende URL-en utenfor loggene.
Savon kaller dem «globale innstillinger», men de er lokale for én klientinstans. En annen klient som bygges et annet sted, arver ikke proxyen automatisk.
Kontroller den installerte transporten før du gjenbruker utdraget. Savons nåværende dokumentasjon knytter disse innstillingene til HTTPI; Faraday-transporten har sitt eget oppsettgrensesnitt via client.faraday og avviser disse HTTPI-spesifikke innstillingene. Konfigurer den valgte transporten i stedet for å blande de to grensesnittene.
Hold proxykontoen atskilt fra tjenestepåloggingsinformasjon for SOAP og fra WS-Security-verdier. Proxyens 407, tjenestens HTTP-påloggingsutfordring og en SOAP-feil viser til ulike utvekslinger. Henting av WSDL kan mislykkes før klienten har utført en eneste applikasjonsoperasjon.