Konfigureer 'n Savon HTTPI-proxy vir WSDL- en SOAP-versoeke
Konfigureer die proxy op 'n Savon HTTPI-kliënt en hou rekening met beide die ophaal van 'n afgeleë WSDL en SOAP-oproepe.
Vir 'n Savon-kliënt wat HTTPI gebruik, hoort die proxy by die kliënt se opsies. Dit geld wanneer 'n afgeleë WSDL opgehaal word en wanneer die SOAP-versoek gestuur word.
client = Savon.client(
wsdl: 'https://service.example/soap?wsdl',
proxy: ENV.fetch('SOAP_PROXY_URL'),
open_timeout: 5,
read_timeout: 15
)
Die voorbeeld aanvaar die HTTPI-transport. Voorsien 'n goedgekeurde proxy-URL deur die omgewing. Vir 'n openbare SOAP-toets wat 'n ongemagtigde HTTP-tussenbemiddelaar toelaat, kan 'n kandidaat uit die HTTP-proxylys daardie URL voorsien; hou die besluite oor diens- en proxy-verifikasie apart. As die ondersteunde verifikasiemetode URL-inskrywings gebruik, enkodeer gereserveerde karakters in daardie inskrywings en hou die resulterende URL uit die logs.
Savon noem dit “globale opsies”, maar dit is plaaslik aan 'n kliëntinstansie. 'n Aparte kliënt wat elders geskep word, erf nie outomaties die proxy nie.
Kontroleer die geïnstalleerde transport voordat die fragment hergebruik word. Savon se huidige dokumentasie ken hierdie opsies aan HTTPI toe; sy Faraday-transport het sy eie opstellingskoppelvlak via client.faraday en verwerp hierdie HTTPI-spesifieke opsies. Konfigureer die gekose transport eerder as om die twee koppelvlakke te meng.
Hou die proxy-rekening apart van SOAP-diensinskrywings en WS-Security-waardes. 'n Proxy se 407, 'n diens se HTTP-aanmeldingsuitdaging en 'n SOAP-fout dui op verskillende uitruilings. Die ophaal van 'n WSDL kan misluk voordat die kliënt enige toepassingsbewerking uitgevoer het.