WebServiceTemplate-ը ուղարկում է իր WebServiceMessageSender-ի միջոցով։ Կազմաձևեք այդ ուղարկողի HTTP հաճախորդը, երբ SOAP նպատակակետը պահանջում է ուղղորդող պրոքսի։

Spring WS 4.1-ի համար՝ Apache HttpClient 5-ի առկայությամբ.

var http = org.apache.hc.client5.http.impl.classic.HttpClients.custom()
    .setProxy(new org.apache.hc.core5.http.HttpHost(
        "http", "proxy.example", 8080))
    .addRequestInterceptorFirst(
        new org.springframework.ws.transport.http
            .HttpComponents5ClientFactory.RemoveSoapHeadersInterceptor())
    .build();

var sender = new org.springframework.ws.transport.http
    .HttpComponents5MessageSender(http);
webServiceTemplate.setMessageSender(sender);

webServiceTemplate-ը հավելվածի առկա ձևանմուշն է։ Նրա SOAP ծառայության URI-ն մնում է նպատակակետը. HTTP հաճախորդը պահում է միջնորդին, որը կարող է հանրային թեկնածու լինել HTTP պրոքսիների ցանկից, երբ այդ ուղին թույլատրված է։

Հատուկ հաճախորդի կոնստրուկտորը չի ավելացնում ուղարկողի սովորական վերնագրային ընդհատիչը։ Պահպանեք այն հաճախորդը հավաքելիս. այն հեռացնում է SOAP-ի տրամադրած տրանսպորտային վերնագրերը, որոնք կառավարում է Apache-ի հարցումների մշակումը։ Հաճախորդի գործարանի լռելյայն կարգավորումներով կառուցված ուղարկողը մեկ այլ կառուցման ուղի է, որը պահպանում է այս ինտեգրումը։

Ավելացրեք անհրաժեշտ պրոքսի հավատարմագրերը և ժամկետները հատուկ հաճախորդի վրա նրա սեփական աջակցվող ինտերֆեյսների միջոցով։ Ուղարկողի setter մեթոդները չեն փոխարինում արդեն տրամադրված հաճախորդի կազմաձևմանը։

Պահպանեք հաճախորդը ձևանմուշի աշխատանքի համար և անջատելիս փակեք պատկանող ռեսուրսները։ Այս օրինակը օգտագործում է HttpClient 5 ուղարկողը. org.apache.http ներմուծող Spring WS օրինակները նկարագրում են հաճախորդի մեկ այլ սերունդ։

Առնչվող հոդվածներ