Dirprwy flaen ar gyfer WebServiceTemplate Spring
Cysylltwch gludiant HttpClient 5 wedi'i ffurfweddu drwy ddirprwy â WebServiceTemplate a chadw'r rhyng-gipiwr pennawd sy'n ofynnol gan anfonydd SOAP.
Mae WebServiceTemplate yn anfon drwy ei WebServiceMessageSender. Ffurfweddwch glient HTTP yr anfonydd hwnnw pan fo'r gyrchfan SOAP yn gofyn am ddirprwy blaen.
Ar gyfer Spring WS 4.1 gyda Apache HttpClient 5 ar gael:
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 yw templed presennol y rhaglen. Mae ei SOAP service URI yn aros yn gyrchfan; mae'r cleient HTTP yn dal y cyfryngwr, a allai fod yn ymgeisydd cyhoeddus o restr dirprwy HTTP pan ganiateir y llwybr hwnnw.
Nid yw'r constructor cleient addasedig yn ychwanegu rhyng-gipiwr pennawd arferol yr anfonydd. Cadwch ef wrth gynnull y cleient: mae'n tynnu pennawdau cludo a ddarperir gan SOAP y mae prosesu ceisiadau Apache yn eu rheoli. Mae anfonydd a adeiladir drwy ragosodiadau'r ffatri gleientiaid yn llwybr adeiladu arall sy'n cadw'r integreiddiad hwn.
Ychwanegwch y tystlythyrau dirprwy a'r terfynau amser gofynnol ar y cleient addasedig drwy ei ryngwynebau cefnogol ei hun. Nid yw dulliau gosod yr anfonydd yn cymryd lle ffurfweddu cleient a ddarparwyd yn barod.
Cadwch y cleient ar gyfer llwyth gwaith y templed a chaewch adnoddau sy'n eiddo wrth gau. Mae'r enghraifft hon yn defnyddio anfonydd HttpClient 5; mae enghreifftiau Spring WS sy'n mewnforio org.apache.http yn disgrifio cenhedlaeth arall o gleientiaid.