Konfigureer 'n Spring-WS 4.1-volmag met HttpComponents 5
Pas Spring-WS 4.1 se HttpComponents5-kliëntfabriek aan en koppel die resulterende sender aan die WebServiceTemplate.
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);Pas hierdie sender voor oproepe op die bestaande template toe en behou die diens-URI, marshaller en ander instellings. Dit is Spring-WS 4.1.0 met Apache HttpClient 5. As die sjabloon 'n toegelate openbare SOAP-diens sonder volmagverifikasie teiken, kan 'n HTTP-adres uit die HTTP-volmaglys die aanpasser se volmag invul.
withDefaults behou die onderskepper wat die deur SOAP verskafde Content-Length en Transfer-Encoding verwyder voordat Apache die HTTP-raamwerk genereer. Om die volmagaanpasser daar by te voeg, verhoed dat daardie integrasie deur 'n kaal kliënt vervang word. Vir 'n afsonderlik geboude Apache-kliënt, behou Spring-WS se onderskepper vir kopverwydering.
Laat die invoere en die sender-generering bymekaar pas. Ouer voorbeelde met HttpComponentsMessageSender/org.apache.http gebruik Apache 4, nie hierdie SimpleHttpComponents5MessageSender en HttpHost-koppelvlak nie.
Behou 'n handmatig geskepte sender vir die leeftyd van die SOAP-kliënt en reël normale vernietiging daarna. 'n Boon wat deur Spring bestuur word, kan die houer se lewensiklus gebruik. Ander sjablone wat ander senders behou, hou hul eie vervoerkonfigurasie.