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);

Tumia mtumaji huyu kwenye template iliyopo kabla ya simu, ukihifadhi URI ya huduma, marshaller na mipangilio mingine. Hii ni Spring-WS 4.1.0 pamoja na Apache HttpClient 5. Ikiwa kiolezo kinalenga huduma ya SOAP ya umma inayoruhusiwa bila uthibitishaji wa proksi, anwani ya HTTP kutoka orodha ya proksi za HTTP inaweza kujaza proksi ya kibadilishaji.

withDefaults huhifadhi kizuizi kinachoondoa Content-Length na Transfer-Encoding zinazotolewa na SOAP kabla Apache hajazalisha mfumo wa HTTP. Kuongeza kibadilishaji cha proksi hapo kunazuia ujumuishaji huo kubadilishwa na mteja tupu. Kwa mteja wa Apache uliojengwa tofauti, hifadhi kizuizi cha kuondoa vichwa cha Spring-WS.

Oanisha imports na uundaji wa mtumaji. Mifano ya zamani yenye HttpComponentsMessageSender/org.apache.http hutumia Apache 4, si SimpleHttpComponents5MessageSender hii na kiolesura cha HttpHost.

Hifadhi mtumaji aliyeundwa kwa mkono kwa muda wote wa mteja wa SOAP na upange uharibifu wake wa kawaida baada ya hapo. Bean inayosimamiwa na Spring inaweza kutumia mzunguko wa maisha wa kontena. Violezo vingine vinavyohifadhi watumaji wengine huhifadhi usanidi wao wa usafirishaji.

Makala zinazohusiana