WSDL және SOAP сұраулары үшін Savon HTTPI проксиін конфигурациялау
Проксиді Savon HTTPI клиентінде конфигурациялап, қашықтағы WSDL алуды да, SOAP шақыруларын да ескеріңіз.
HTTPI қолданатын Savon клиентінде прокси клиент параметрлерінің бөлігі болып табылады. Ол қашықтағы 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 мекенжайын орта арқылы беріңіз. Аутентификациясыз HTTP делдалына рұқсат беретін ашық SOAP сынағы үшін HTTP прокси тізімінен кандидат сол URL мекенжайын бере алады; қызмет пен прокси аутентификациясының шешімдерін бөлек ұстаңыз. Егер қолдау көрсетілетін аутентификация әдісі URL ішіндегі деректерді қолданса, сол деректердегі қорғалған таңбаларды кодтаңыз және алынған URL мекенжайын журналдардан тыс ұстаңыз.
Savon оларды «ғаламдық параметрлер» деп атайды, бірақ олар бір клиент данасына ғана қатысты. Басқа жерде құрылған басқа клиент проксиді автоматты түрде мұраламайды.
Үзіндіні қайта қолданар алдында орнатылған тасымалды тексеріңіз. Savon-ның қазіргі құжаттамасы бұл параметрлерді HTTPI-ге жатқызады; оның Faraday тасымалының client.faraday арқылы өз баптау интерфейсі бар және осы HTTPI-ге тән параметрлерді қабылдамайды. Екі интерфейсті араластырмай, таңдалған тасымалды конфигурациялаңыз.
Прокси есептік жазбасын SOAP қызметінің деректерінен және WS-Security мәндерінен бөлек ұстаңыз. Проксидің 407 коды, қызметтің HTTP кіру шақыруы және SOAP қатесі әртүрлі алмасуларды білдіреді. WSDL алу клиент ешқандай қолданба операциясын орындамай тұрып-ақ сәтсіз аяқталуы мүмкін.