HttpComponents 5 ഉപയോഗിച്ച് Spring-WS 4.1 പ്രോക്സി കോൺഫിഗർ ചെയ്യുക
Spring-WS 4.1-ന്റെ HttpComponents5 ക്ലയന്റ് ഫാക്ടറി ഇഷ്ടാനുസൃതമാക്കി ലഭിച്ച അയച്ചയാളെ 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);വിളികൾക്ക് മുമ്പ് ഈ അയച്ചയാളെ നിലവിലുള്ള template-ൽ പ്രയോഗിക്കുക, സേവനത്തിന്റെ URI, marshaller, മറ്റ് ക്രമീകരണങ്ങൾ നിലനിർത്തുക. ഇത് Apache HttpClient 5-നൊപ്പമുള്ള Spring-WS 4.1.0 ആണ്. ടെംപ്ലേറ്റ് പ്രോക്സി പ്രാമാണീകരണമില്ലാതെ അനുവദനീയമായ പൊതു SOAP സേവനം ലക്ഷ്യമിടുന്നുവെങ്കിൽ, HTTP പ്രോക്സി പട്ടികയിൽ നിന്നുള്ള HTTP വിലാസത്തിന് കസ്റ്റമൈസറിന്റെ പ്രോക്സി നിറയ്ക്കാം.
Apache HTTP ഫ്രെയിമിംഗ് സൃഷ്ടിക്കുന്നതിന് മുമ്പ് SOAP നൽകുന്ന Content-Length, Transfer-Encoding എന്നിവ നീക്കം ചെയ്യുന്ന ഇന്റർസെപ്റ്റർ withDefaults നിലനിർത്തുന്നു. അവിടെ പ്രോക്സി കസ്റ്റമൈസർ ചേർക്കുന്നത് ആ സംയോജനം വെറും ക്ലയന്റ് കൊണ്ട് മാറ്റുന്നത് ഒഴിവാക്കുന്നു. വേറെ നിർമ്മിച്ച Apache ക്ലയന്റിന്, Spring-WS-ന്റെ ഹെഡർ നീക്കം ചെയ്യുന്ന ഇന്റർസെപ്റ്റർ നിലനിർത്തുക.
ഇംപോർട്ടുകളും അയച്ചയാളുടെ നിർമ്മാണവും പൊരുത്തപ്പെടുത്തുക. HttpComponentsMessageSender/org.apache.http ഉപയോഗിക്കുന്ന പഴയ ഉദാഹരണങ്ങൾ Apache 4 ഉപയോഗിക്കുന്നു, ഈ SimpleHttpComponents5MessageSender ഉം HttpHost ഇന്റർഫേസും അല്ല.
SOAP ക്ലയന്റിന്റെ മുഴുവൻ ആയുസ്സിലും കൈകൊണ്ട് നിർമ്മിച്ച അയച്ചയാളെ നിലനിർത്തി പിന്നീട് അതിന്റെ സാധാരണ നാശം ക്രമീകരിക്കുക. Spring കൈകാര്യം ചെയ്യുന്ന ബീൻ കണ്ടെയ്നറിന്റെ ജീവിതചക്രം ഉപയോഗിക്കാം. മറ്റ് അയച്ചയാളെ നിലനിർത്തുന്ന മറ്റ് ടെംപ്ലേറ്റുകൾ സ്വന്തം ഗതാഗത കോൺഫിഗറേഷൻ നിലനിർത്തുന്നു.