Konfigurera en Savon HTTPI-proxy för WSDL- och SOAP-förfrågningar
Konfigurera proxyn på en Savon HTTPI-klient och ta hänsyn till både hämtning av extern WSDL och SOAP-anrop.
I en Savon-klient som använder HTTPI hör proxyn till klientens inställningar. Den gäller när en extern WSDL hämtas och när SOAP-förfrågan skickas.
client = Savon.client(
wsdl: 'https://service.example/soap?wsdl',
proxy: ENV.fetch('SOAP_PROXY_URL'),
open_timeout: 5,
read_timeout: 15
)
Exemplet förutsätter HTTPI-transporten. Ange en godkänd proxy-URL via miljön. För ett offentligt SOAP-test som tillåter en oautentiserad HTTP-mellanhand kan en kandidat från HTTP-proxylistan leverera den URL:en; håll beslut om tjänste- och proxyautentisering åtskilda. Om den stödda autentiseringsmetoden använder inloggningsuppgifter i URL:en, koda de reserverade tecknen i dessa uppgifter och håll den resulterande URL:en utanför loggarna.
Savon kallar dem ”globala inställningar”, men de är lokala för en klientinstans. En annan klient som byggs någon annanstans ärver inte proxyn automatiskt.
Kontrollera den installerade transporten innan du återanvänder utdraget. Savons nuvarande dokumentation hänför dessa inställningar till HTTPI; dess Faraday-transport har sitt eget gränssnitt för konfiguration via client.faraday och avvisar dessa HTTPI-specifika inställningar. Konfigurera den valda transporten i stället för att blanda de två gränssnitten.
Håll proxykontot åtskilt från SOAP-tjänstens inloggningsuppgifter och från WS-Security-värden. Proxyns 407, tjänstens HTTP-inloggningsutmaning och ett SOAP-fel anger olika utbyten. Hämtningen av WSDL kan misslyckas innan klienten ens har utfört en applikationsoperation.