WebServiceTemplate သည် ၎င်း၏ WebServiceMessageSender မှတစ်ဆင့် ပို့သည်။ SOAP ဦးတည်ရာက ရှေ့သို့ ပရောက်စီ လိုအပ်သောအခါ ထိုပို့သူ၏ HTTP client ကို ပြင်ဆင်ပါ။

Apache HttpClient 5 ရရှိနိုင်သော Spring WS 4.1 အတွက်:

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 client သည် ကြားခံကို ကိုင်ထားပြီး ထိုလမ်းကြောင်း ခွင့်ပြုပါက HTTP ပရောက်စီ စာရင်းမှ အများသုံး ကိုယ်စားလှယ်လောင်း ဖြစ်နိုင်သည်။

စိတ်ကြိုက် client ဖန်တီးသူသည် ပို့သူ၏ ပုံမှန် ခေါင်းစီး ကြားဖြတ်ကိရိယာကို မထည့်ပါ။ client ကို စုစည်းစဉ် ၎င်းကို ထိန်းသိမ်းပါ: Apache ၏ တောင်းဆိုမှု လုပ်ဆောင်ခြင်းက စီမံသော SOAP ပေးသော သယ်ယူပို့ဆောင်ရေး ခေါင်းစီးများကို ဖယ်ရှားသည်။ client စက်ရုံ၏ မူရင်းတန်ဖိုးများဖြင့် တည်ဆောက်သော ပို့သူသည် ဤပေါင်းစည်းမှုကို ထိန်းသိမ်းသော အခြား တည်ဆောက်မှုလမ်းကြောင်း ဖြစ်သည်။

လိုအပ်သော ပရောက်စီ အထောက်အထားများနှင့် အချိန်ကန့်သတ်ချက်များကို စိတ်ကြိုက် client ပေါ်တွင် ၎င်း၏ ကိုယ်ပိုင် ပံ့ပိုးထားသော အင်တာဖေ့စ်များမှတစ်ဆင့် ထည့်ပါ။ ပို့သူ၏ setter နည်းလမ်းများသည် ရှိပြီးသား ပေးထားသော client ကို ပြင်ဆင်ခြင်း၏ အစားထိုး မဟုတ်ပါ။

နမူနာပုံစံ၏ အလုပ်ဝန်အတွက် client ကို ထိန်းသိမ်းပြီး ပိတ်သည့်အခါ ပိုင်ဆိုင်သော အရင်းအမြစ်များကို ပိတ်ပါ။ ဤဥပမာသည် HttpClient 5 ပို့သူကို အသုံးပြုသည်; org.apache.http တင်သွင်းသော Spring WS ဥပမာများသည် အခြား client မျိုးဆက်ကို ဖော်ပြသည်။

ဆက်စပ်ဆောင်းပါးများ