يرسل 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 هو قالب التطبيق القائم. يبقى عنوان URI لخدمة SOAP هو الوجهة؛ ويحمل عميل HTTP الوسيط، الذي قد يكون مرشحاً عاماً من قائمة وكلاء HTTP عندما يُسمح بذلك المسار.

لا يضيف مُنشئ العميل المخصص اعتراض الرأس المعتاد للمرسل. احتفظ به عند تجميع العميل: فهو يزيل رؤوس النقل التي يقدمها SOAP والتي تديرها معالجة الطلبات في Apache. والمرسل المبني عبر الإعدادات الافتراضية لمصنع العميل مسار بناء آخر يحتفظ بهذا التكامل.

أضف بيانات اعتماد الوكيل والمهلات المطلوبة على العميل المخصص عبر واجهاته المدعومة. ولا تُعد طرق الضبط في المرسل بديلاً عن تهيئة عميل مُقدم بالفعل.

احتفظ بالعميل لعبء عمل القالب وأغلق الموارد المملوكة عند الإغلاق. يستخدم هذا المثال مرسل HttpClient 5؛ وأمثلة Spring WS التي تستورد org.apache.http تصف جيلاً آخر من العملاء.

مقالات ذات صلة