ພຣອກຊີດ້ານໜ້າສຳລັບ WebServiceTemplate ຂອງ Spring
ເຊື່ອມຕໍ່ການຂົນສົ່ງ HttpClient 5 ທີ່ຕັ້ງຄ່າດ້ວຍພຣອກຊີກັບ WebServiceTemplate ແລະ ຮັກສາຕົວດັກຫົວຂໍ້ທີ່ຜູ້ສົ່ງ SOAP ຕ້ອງການ.
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 ອື່ນ.