Proksi ya mbele kwa WebServiceTemplate ya Spring
Unganisha usafirishaji wa HttpClient 5 uliosanidiwa na proksi na WebServiceTemplate na uendelee kizuizi cha kichwa kinachohitajika na mtumaji wa SOAP.
WebServiceTemplate hutuma kupitia WebServiceMessageSender yake. Sanidi mteja wa HTTP wa mtumaji huyo wakati lengwa la SOAP linahitaji proksi ya mbele.
Kwa Spring WS 4.1 ikiwa Apache HttpClient 5 inapatikana:
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 ni kiolezo kilichopo cha programu. URI ya huduma ya SOAP inabaki kuwa lengwa; mteja wa HTTP anashikilia mpatanishi, ambaye anaweza kuwa mwombaji wa umma kutoka orodha ya proksi za HTTP ikiwa njia hiyo inaruhusiwa.
Kijenzi cha mteja maalum hakuongezi kizuizi cha kichwa cha kawaida cha mtumaji. Kihifadhi unapokusanya mteja: huondoa vichwa vya usafirishaji vinavyotolewa na SOAP ambavyo hushughulikiwa na uchakataji wa maombi wa Apache. Mtumaji aliyejengwa kupitia chaguo-msingi za kiwanda cha wateja ni njia nyingine ya ujenzi inayohifadhi muunganisho huu.
Ongeza vitambulisho vya proksi na muda wa mwisho unaohitajika kwenye mteja maalum kupitia violesura vyake vinavyotumika. Mbinu za setter za mtumaji hazibadilishi usanidi wa mteja aliyetolewa tayari.
Hifadhi mteja kwa mzigo wa kazi wa kiolezo na funga rasilimali zinazomilikiwa wakati wa kuzima. Mfano huu unatumia mtumaji wa HttpClient 5; mifano ya Spring WS inayoingiza org.apache.http inaelezea kizazi kingine cha wateja.