Конфигурирање на 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 може да пропадне пред клиентот воопшто да изврши некоја апликациска операција.