WebServiceTemplate göndərişi WebServiceMessageSender vasitəsilə edir. SOAP təyinatı forvard proksi tələb etdikdə həmin göndərənin HTTP müştərisini konfiqurasiya edin.

Apache HttpClient 5 mövcud olan Spring WS 4.1 üçün:

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 tətbiqin mövcud şablonudur. Onun SOAP xidməti URI-si təyinat olaraq qalır; HTTP müştərisi isə araçını saxlayır ki, bu da marşrut icazəli olduqda HTTP proksi siyahısından açıq namizəd ola bilər.

Fərdi müştəri konstruktoru göndərənin adi başlıq interceptorunu əlavə etmir. Müştərini qurarkən onu saxlayın: o, Apache-nin sorğu emalının idarə etdiyi SOAP tərəfindən verilən nəqliyyat başlıqlarını silir. Müştəri fabrikinin standart parametrləri ilə qurulan göndərən bu inteqrasiyanı saxlayan başqa bir qurma yoludur.

Tələb olunan proksi etimadnamələrini və tavaymautları fərdi müştəriyə onun öz dəstəklənən interfeysləri vasitəsilə əlavə edin. Göndərənin setter metodları artıq verilmiş müştərini konfiqurasiya etməyin əvəzi deyil.

Müştərini şablonun iş yükü üçün saxlayın və bağlanarkən sahib olunan resursları bağlayın. Bu nümunə HttpClient 5 göndərənindən istifadə edir; org.apache.http import edən Spring WS nümunələri başqa müştəri nəslini təsvir edir.

Əlaqəli məqalələr