Konfiguracja proxy HTTPI dla Savona przy żądaniach WSDL i SOAP
Skonfiguruj proxy w kliencie Savon HTTPI i uwzględnij zarówno pobieranie zdalnego WSDL, jak i wywołania SOAP.
W kliencie Savon korzystającym z HTTPI proxy należy do opcji klienta. Działa przy pobieraniu zdalnego WSDL i przy wysyłaniu żądania SOAP.
client = Savon.client(
wsdl: 'https://service.example/soap?wsdl',
proxy: ENV.fetch('SOAP_PROXY_URL'),
open_timeout: 5,
read_timeout: 15
)
Przykład zakłada transport HTTPI. Podaj zatwierdzony adres URL proxy przez środowisko. Do publicznego testu SOAP, który dopuszcza nieuwierzytelnionego pośrednika HTTP, adresu może dostarczyć kandydat z listy proxy HTTP; decyzje o uwierzytelnianiu usługi i proxy trzymaj osobno. Jeśli obsługiwana metoda uwierzytelniania używa danych w adresie URL, zakoduj w tych danych znaki zastrzeżone i trzymaj wynikowy adres poza logami.
Savon nazywa je „opcjami globalnymi”, ale są lokalne dla jednej instancji klienta. Klient zbudowany gdzie indziej nie dziedziczy proxy automatycznie.
Sprawdź zainstalowany transport, zanim użyjesz fragmentu ponownie. Obecna dokumentacja Savona przypisuje te opcje do HTTPI; transport Faraday ma własny interfejs konfiguracji przez client.faraday i odrzuca te opcje specyficzne dla HTTPI. Skonfiguruj wybrany transport, zamiast mieszać oba interfejsy.
Trzymaj konto proxy oddzielnie od danych usługi SOAP i wartości WS-Security. Kod 407 proxy, wyzwanie logowania HTTP usługi i błąd SOAP oznaczają różne wymiany. Pobranie WSDL może się nie udać, zanim klient wykona jakąkolwiek operację aplikacji.