WebServiceTemplate اپنے WebServiceMessageSender کے ذریعے بھیجتا ہے۔ جب SOAP منزل کو فارورڈ پراکسی درکار ہو تو اُس بھیجنے والے کا HTTP کلائنٹ ترتیب دیں۔

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 کلائنٹ واسطہ رکھتا ہے، جو اُس راستے کی اجازت ہونے پر HTTP پراکسی فہرست سے کوئی عوامی امیدوار ہو سکتا ہے۔

حسبِ ضرورت کلائنٹ کا کنسٹرکٹر بھیجنے والے کا معمول کا ہیڈر انٹرسیپٹر شامل نہیں کرتا۔ کلائنٹ جوڑتے وقت اسے برقرار رکھیں: یہ SOAP کے فراہم کردہ وہ ٹرانسپورٹ ہیڈر ہٹاتا ہے جنہیں Apache کی درخواست پراسیسنگ سنبھالتی ہے۔ کلائنٹ فیکٹری کے ڈیفالٹس سے بنایا گیا بھیجنے والا ایک اور تعمیری راستہ ہے جو یہ انضمام برقرار رکھتا ہے۔

مطلوبہ پراکسی اسناد اور ٹائم آؤٹ حسبِ ضرورت کلائنٹ پر اس کے اپنے معاون انٹرفیس کے ذریعے شامل کریں۔ بھیجنے والے کے سیٹر طریقے پہلے سے فراہم کردہ کلائنٹ کی ترتیب کا متبادل نہیں ہیں۔

ٹیمپلیٹ کے کام کے بوجھ کے لیے کلائنٹ برقرار رکھیں اور بند کرتے وقت ملکیتی وسائل بند کریں۔ یہ مثال HttpClient 5 بھیجنے والا استعمال کرتی ہے؛ org.apache.http درآمد کرنے والی Spring WS مثالیں کلائنٹ کی دوسری نسل بیان کرتی ہیں۔

متعلقہ مضامین