Налада проксі Savon HTTPI для запытаў WSDL і SOAP
Наладзьце проксі ў кліенце Savon HTTPI і ўлічыце як атрыманне выдаленага WSDL, так і выклікі SOAP.
У кліенце Savon, які выкарыстоўвае HTTPI, проксі ўваходзіць у параметры кліента. Ён дзейнічае пры атрыманні выдаленага WSDL і пры адпраўцы запыту SOAP.
client = Savon.client(
wsdl: 'https://service.example/soap?wsdl',
proxy: ENV.fetch('SOAP_PROXY_URL'),
open_timeout: 5,
read_timeout: 15
)
Прыклад разлічаны на транспарт HTTPI. Перадайце ўхвалены URL проксі праз асяроддзе. Для публічнага тэсту SOAP, які дазваляе неаўтэнтыфікаванае HTTP-пасрэдніцтва, кандыдат са спіса HTTP-проксі можа даць такі URL; рашэнні пра аўтэнтыфікацыю сэрвісу і проксі трымайце асобна. Калі падтрыманы метад аўтэнтыфікацыі выкарыстоўвае даныя ў URL, закадуйце зарэзерваваныя сімвалы ў гэтых даных і трымайце атрыманы URL па-за журналамі.
Savon называе гэта «глабальнымі параметрамі», але яны дзейнічаюць толькі ў межах асобніка кліента. Іншы кліент, створаны ў іншым месцы, не атрымлівае проксі аўтаматычна.
Перад паўторным выкарыстаннем фрагмента праверце ўсталяваны транспарт. Актуальная дакументацыя Savon адносіць гэтыя параметры да HTTPI; яго транспарт Faraday мае ўласны інтэрфейс наладкі праз client.faraday і адхіляе гэтыя спецыфічныя для HTTPI параметры. Наладжвайце абраны транспарт, а не змешвайце два інтэрфейсы.
Трымайце ўліковы запіс проксі асобна ад даных сэрвісу SOAP і значэнняў WS-Security. Код 407 проксі, HTTP-запыт аўтарызацыі сэрвісу і памылка SOAP пазначаюць розныя абмены. Атрыманне WSDL можа праваліцца яшчэ да таго, як кліент выканае хоць якую аперацыю прыкладання.