U klienta Savon, který používá HTTPI, je proxy součástí voleb klienta. Platí při načítání vzdáleného WSDL i při odesílání požadavku SOAP.

client = Savon.client(
  wsdl: 'https://service.example/soap?wsdl',
  proxy: ENV.fetch('SOAP_PROXY_URL'),
  open_timeout: 5,
  read_timeout: 15
)

Příklad předpokládá transport HTTPI. Předejte schválenou URL proxy přes prostředí. Pro veřejný test SOAP, který připouští neověřený HTTP prostředník, může tuto URL poskytnout kandidát ze seznamu HTTP proxy; rozhodnutí o ověřování služby a proxy držte odděleně. Pokud podporovaná metoda ověřování používá údaje v URL, zakódujte v těchto údajích rezervované znaky a výslednou URL držte mimo logy.

Savon je nazývá „globální volby“, ale platí jen pro jednu instanci klienta. Jiný klient vytvořený jinde proxy automaticky nedědí.

Před opětovným použitím úryvku ověřte nainstalovaný transport. Současná dokumentace Savonu přiřazuje tyto volby HTTPI; jeho transport Faraday má vlastní rozhraní pro nastavení přes client.faraday a tyto volby specifické pro HTTPI odmítá. Nastavte zvolený transport, místo abyste obě rozhraní míchali.

Držte účet proxy odděleně od údajů služby SOAP a hodnot WS-Security. Kód 407 proxy, HTTP výzva k přihlášení služby a chyba SOAP označují různé výměny. Načtení WSDL může selhat dřív, než klient provede jakoukoli aplikační operaci.

Související články