WebServiceTemplate ສົ່ງຜ່ານ WebServiceMessageSender ຂອງມັນ. ຕັ້ງຄ່າ HTTP client ຂອງຜູ້ສົ່ງນັ້ນເມື່ອປາຍທາງ 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 client ຖືຕົວກາງ ເຊິ່ງອາດເປັນຜູ້ສະໝັກສາທາລະນະຈາກ ລາຍຊື່ພຣອກຊີ HTTP ເມື່ອເສັ້ນທາງນັ້ນໄດ້ຮັບອະນຸຍາດ.

ຕົວສ້າງ client ແບບກຳນົດເອງບໍ່ເພີ່ມຕົວດັກຫົວຂໍ້ປົກກະຕິຂອງຜູ້ສົ່ງ. ຮັກສາມັນໄວ້ເມື່ອປະກອບ client: ມັນລຶບຫົວຂໍ້ການຂົນສົ່ງທີ່ SOAP ສະໜອງ ເຊິ່ງການປະມວນຜົນຄຳຮ້ອງຂອງ Apache ຈັດການ. ຜູ້ສົ່ງທີ່ສ້າງຜ່ານ ຄ່າເລີ່ມຕົ້ນຂອງໂຮງງານ client ແມ່ນເສັ້ນທາງການສ້າງອີກອັນໜຶ່ງທີ່ຮັກສາການເຊື່ອມໂຍງນີ້.

ເພີ່ມຂໍ້ມູນປະກອບພຣອກຊີ ແລະ ເວລາກຳນົດທີ່ຕ້ອງການໃສ່ client ກຳນົດເອງ ຜ່ານອິນເຕີເຟສທີ່ຮອງຮັບຂອງມັນເອງ. ວິທີ setter ຂອງຜູ້ສົ່ງບໍ່ແທນການຕັ້ງຄ່າ client ທີ່ສະໜອງໃຫ້ແລ້ວ.

ຮັກສາ client ໄວ້ສຳລັບພາລະວຽກຂອງແມ່ແບບ ແລະ ປິດຊັບພະຍາກອນທີ່ເປັນເຈົ້າຂອງເມື່ອປິດ. ຕົວຢ່າງນີ້ໃຊ້ຜູ້ສົ່ງ HttpClient 5; ຕົວຢ່າງ Spring WS ທີ່ນຳເຂົ້າ org.apache.http ອະທິບາຍລຸ້ນ client ອື່ນ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ