import org.apache.hc.core5.http.HttpHost;
import org.springframework.ws.transport.http.HttpComponents5ClientFactory;
import org.springframework.ws.transport.http.SimpleHttpComponents5MessageSender;

var factory = HttpComponents5ClientFactory.withDefaults();
factory.addClientBuilderCustomizer(builder ->
    builder.setProxy(new HttpHost("http", "proxy.example", 8080)));

var sender = new SimpleHttpComponents5MessageSender(factory);
template.setMessageSender(sender);

ນຳໃຊ້ sender ນີ້ກັບ template ທີ່ມີຢູ່ກ່ອນການເອີ້ນ, ໂດຍຮັກສາ URI ຂອງບໍລິການ, marshaller ແລະການຕັ້ງຄ່າອື່ນໆ. ນີ້ແມ່ນ Spring-WS 4.1.0 ກັບ Apache HttpClient 5. ຖ້າແມ່ແບບເລັງໃສ່ບໍລິການ SOAP ສາທາລະນະທີ່ອະນຸຍາດໂດຍບໍ່ມີການພິສູດຢືນຢັນ proxy, ທີ່ຢູ່ HTTP ຈາກ ລາຍຊື່ proxy HTTP ສາມາດຕື່ມ proxy ຂອງຕົວປັບແຕ່ງໄດ້.

withDefaults ຮັກສາ interceptor ທີ່ລຶບ Content-Length ແລະ Transfer-Encoding ທີ່ SOAP ສະໜອງ ກ່ອນ Apache ຈະສ້າງກອບ HTTP. ການເພີ່ມຕົວປັບແຕ່ງ proxy ຢູ່ບ່ອນນັ້ນຊ່ວຍຫຼີກລ່ຽງການປ່ຽນການຮວມສຳພັນນັ້ນດ້ວຍ client ທຳມະດາ. ສຳລັບ client Apache ທີ່ສ້າງແຍກຕ່າງຫາກ, ຮັກສາ interceptor ລຶບຫົວຂໍ້ຂອງ Spring-WS.

ໃຫ້ import ແລະການສ້າງ sender ຕົງກັນ. ຕົວຢ່າງເກົ່າທີ່ໃຊ້ HttpComponentsMessageSender/org.apache.http ໃຊ້ Apache 4, ບໍ່ແມ່ນ SimpleHttpComponents5MessageSender ແລະ interface HttpHost ນີ້.

ຮັກສາ sender ທີ່ສ້າງດ້ວຍມືໄວ້ຕະຫຼອດອາຍຸຂອງ client SOAP ແລະຈັດການທຳລາຍຕາມປົກກະຕິຫຼັງຈາກນັ້ນ. bean ທີ່ Spring ຄຸ້ມຄອງສາມາດໃຊ້ວົງຈອນຊີວິດຂອງ container. ແມ່ແບບອື່ນທີ່ຮັກສາ sender ອື່ນຈະຮັກສາການຕັ້ງຄ່າການຂົນສົ່ງຂອງຕົນເອງ.

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