Spring இன் WebServiceTemplate-க்கான முன்னோக்கு ப்ராக்ஸி
ப்ராக்ஸியுடன் உள்ளமைக்கப்பட்ட HttpClient 5 இடைமாற்றத்தை WebServiceTemplate-இல் இணைத்து, SOAP அனுப்புநர் தேவைப்படும் தலைப்பு இடைமறிப்பியைத் தக்கவைக்கவும்.
WebServiceTemplate அதன் WebServiceMessageSender வழியாக அனுப்புகிறது. SOAP இலக்குக்கு முன்னோக்கு ப்ராக்ஸி தேவைப்படும்போது அந்த அனுப்புநரின் HTTP கிளையண்டை உள்ளமைக்கவும்.
Apache HttpClient 5 கிடைக்கக்கூடிய Spring WS 4.1-க்கு:
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 என்பது பயன்பாட்டின் தற்போதைய டெம்ப்ளேட். அதன் SOAP சேவை URI இலக்காகவே இருக்கும்; HTTP கிளையண்ட் இடைநிலையை வைத்திருக்கும், அந்த வழி அனுமதிக்கப்பட்டால் அது HTTP ப்ராக்ஸி பட்டியலில் இருந்து பொதுவெளி வேட்பாளராக இருக்கலாம்.
தனிப்பயன் கிளையண்ட் உருவாக்கி அனுப்புநரின் வழக்கமான தலைப்பு இடைமறிப்பியைச் சேர்க்காது. கிளையண்டை இணைக்கும்போது அதைத் தக்கவைக்கவும்: Apache-வின் கோரிக்கை செயலாக்கம் நிர்வகிக்கும் SOAP வழங்கும் இடைமாற்றத் தலைப்புகளை அது நீக்குகிறது. கிளையண்ட் தொழிற்சாலையின் இயல்புநிலைகள் வழியாக உருவாக்கப்பட்ட அனுப்புநரும் இந்த ஒருங்கிணைப்பைத் தக்கவைக்கும் மற்றொரு உருவாக்கப் பாதையாகும்.
தேவையான ப்ராக்ஸி சான்றுகளையும் கால வரம்புகளையும் தனிப்பயன் கிளையண்டில் அதன் சொந்த ஆதரவு இடைமுகங்கள் வழியாகச் சேர்க்கவும். அனுப்புநரின் setter முறைகள் ஏற்கனவே வழங்கப்பட்ட கிளையண்டை உள்ளமைப்பதற்கு மாற்றாகாது.
டெம்ப்ளேட்டின் பணிச்சுமைக்காக கிளையண்டைத் தக்கவைத்து, நிறுத்தும்போது சொந்த வளங்களை மூடவும். இந்த எடுத்துக்காட்டு HttpClient 5 அனுப்புநரைப் பயன்படுத்துகிறது; org.apache.http-ஐ இறக்குமதி செய்யும் Spring WS எடுத்துக்காட்டுகள் மற்றொரு கிளையண்ட் தலைமுறையை விவரிக்கின்றன.