Nastavenie proxy HTTPI pre Savon pri požiadavkách WSDL a SOAP
Nastavte proxy v klientovi Savon s HTTPI a zohľadnite vzdialené načítanie WSDL aj volania SOAP.
V klientovi Savon, ktorý používa HTTPI, je proxy súčasťou možností klienta. Platí pri načítaní vzdialeného WSDL aj pri odosielaní požiadavky SOAP.
client = Savon.client(
wsdl: 'https://service.example/soap?wsdl',
proxy: ENV.fetch('SOAP_PROXY_URL'),
open_timeout: 5,
read_timeout: 15
)
Príklad predpokladá transport HTTPI. Zadajte schválenú URL proxy cez prostredie. Pre verejný test SOAP, ktorý pripúšťa neovereného HTTP sprostredkovateľa, môže túto URL poskytnúť kandidát zo zoznamu HTTP proxy; rozhodnutia o overovaní služby a proxy držte oddelene. Ak podporovaná metóda overovania používa údaje v URL, zakódujte v týchto údajoch rezervované znaky a výslednú URL držte mimo záznamov.
Savon ich nazýva „globálne možnosti“, ale platia len pre jednu inštanciu klienta. Iný klient vytvorený inde proxy automaticky nededí.
Pred opätovným použitím úryvku overte nainštalovaný transport. Súčasná dokumentácia Savonu priraďuje tieto možnosti HTTPI; jeho transport Faraday má vlastné rozhranie na nastavenie cez client.faraday a tieto možnosti špecifické pre HTTPI odmieta. Nastavte zvolený transport namiesto miešania dvoch rozhraní.
Držte účet proxy oddelene od údajov služby SOAP a hodnôt WS-Security. Kód 407 proxy, HTTP výzva na prihlásenie služby a chyba SOAP označujú rôzne výmeny. Načítanie WSDL môže zlyhať ešte predtým, než klient vykoná akúkoľvek aplikačnú operáciu.