I-configure ang Savon HTTPI proxy para sa mga request na WSDL at SOAP
I-configure ang proxy sa isang Savon HTTPI client at isaalang-alang ang pagkuha ng malayuang WSDL at ang mga tawag na SOAP.
Sa isang Savon client na gumagamit ng HTTPI, bahagi ng mga opsyon ng client ang proxy. Nalalapat ito kapag kumukuha ng malayuang WSDL at kapag nagpapadala ng request na SOAP.
client = Savon.client(
wsdl: 'https://service.example/soap?wsdl',
proxy: ENV.fetch('SOAP_PROXY_URL'),
open_timeout: 5,
read_timeout: 15
)
Ipinapalagay ng halimbawa ang transport na HTTPI. Magbigay ng aprubadong proxy URL sa pamamagitan ng environment. Para sa pampublikong pagsubok na SOAP na pumapayag sa hindi awtentikadong HTTP intermediary, isang kandidato mula sa listahan ng HTTP proxy ang makapagbibigay ng URL na iyon; panatilihing hiwalay ang mga desisyon sa awtentikasyon ng serbisyo at ng proxy. Kung ang sinusuportahang paraan ng awtentikasyon ay gumagamit ng mga kredensyal sa loob ng URL, i-encode ang mga reserved na character sa mga kredensyal na iyon at ilayo ang resultang URL sa mga log.
Tinatawag ito ng Savon na “global na opsyon”, ngunit lokal ang mga ito sa isang instance ng client. Ang ibang client na ginawa sa ibang lugar ay hindi awtomatikong nagmamana ng proxy.
Suriin ang naka-install na transport bago gamitin muli ang snippet. Itinatalaga ng kasalukuyang dokumentasyon ng Savon ang mga opsyon na ito sa HTTPI; may sariling interface sa pagsasaayos ang transport na Faraday sa pamamagitan ng client.faraday at tinatanggihan nito ang mga opsyong partikular sa HTTPI. I-configure ang piniling transport sa halip na paghalo ng dalawang interface.
Panatilihing hiwalay ang account ng proxy sa mga kredensyal ng serbisyong SOAP at sa mga halaga ng WS-Security. Ang 407 ng proxy, ang HTTP login challenge ng serbisyo at ang SOAP fault ay tumutukoy sa magkakaibang palitan. Maaaring mabigo ang pagkuha ng WSDL bago pa man gumawa ng anumang operasyon ng aplikasyon ang client.