Konfiguriranje Savon HTTPI proxyja za WSDL i SOAP zahtjeve
Konfigurirajte proxy na Savon HTTPI klijentu i uzmite u obzir i dohvaćanje udaljenog WSDL-a i SOAP pozive.
Kod Savon klijenta koji koristi HTTPI, proxy je dio klijentovih opcija. Primjenjuje se pri dohvaćanju udaljenog WSDL-a i pri slanju SOAP zahtjeva.
client = Savon.client(
wsdl: 'https://service.example/soap?wsdl',
proxy: ENV.fetch('SOAP_PROXY_URL'),
open_timeout: 5,
read_timeout: 15
)
Primjer pretpostavlja HTTPI transport. Dostavite odobreni proxy URL kroz okruženje. Za javni SOAP test koji dopušta neautentificiran HTTP posrednik, kandidat s popisa HTTP proxyja može dati taj URL; držite odluke o autentikaciji usluge i proxyja odvojeno. Ako podržana metoda autentikacije koristi podatke u URL-u, kodirajte rezervirane znakove u tim podacima i držite dobiveni URL izvan zapisa.
Savon ih naziva “globalnim opcijama”, ali one su lokalne za instancu klijenta. Zaseban klijent stvoren negdje drugdje ne nasljeđuje proxy automatski.
Provjerite instalirani transport prije ponovne uporabe isječka. Savonova trenutačna dokumentacija pripisuje te opcije HTTPI-ju; njegov Faraday transport ima vlastito sučelje za postavljanje kroz client.faraday i odbija ove opcije specifične za HTTPI. Konfigurirajte odabrani transport umjesto miješanja dvaju sučelja.
Držite proxy račun odvojeno od podataka za SOAP uslugu i vrijednosti WS-Security. Proxyjev 407, HTTP izazov za prijavu usluge i SOAP greška označavaju različite razmjene. Dohvaćanje WSDL-a može propasti prije nego što je klijent uopće izvršio neku operaciju.