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

Beittu þessum sendanda á núverandi template fyrir köll og haltu URI þjónustunnar, marshaller og öðrum stillingum. Þetta er Spring-WS 4.1.0 með Apache HttpClient 5. Ef sniðmátið miðar á leyfilega opinbera SOAP-þjónustu án proxy-auðkenningar getur HTTP-vistfang úr HTTP-proxylistanum fyllt proxy sérsniðarans.

withDefaults heldur milliföngnum sem fjarlægir Content-Length og Transfer-Encoding sem SOAP leggur til áður en Apache myndar HTTP-rammann. Að bæta proxy-sniðaranum þar við kemur í veg fyrir að sú samþætting verði skipt út fyrir beran biðlara. Fyrir sérstaklega byggðan Apache-biðlara haltu milliföngnum sem fjarlægir hausa Spring-WS.

Láttu innflutning og sendandagerð passa saman. Eldri dæmi með HttpComponentsMessageSender/org.apache.http nota Apache 4, ekki þennan SimpleHttpComponents5MessageSender og HttpHost-viðmótið.

Haltu sendanda sem búið er til handvirkt í allan líftíma SOAP-biðlarans og skipuleggðu eðlilega eyðingu hans eftir það. Bean sem Spring stjórnar getur notað lífsferil geymsilsins. Aðrar sniðmátur sem halda öðrum sendendum varðveita eigin flutningsstillingar.

Tengdir greinar