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 நிர்வகிக்கும் பீன் கொள்கலனின் வாழ்க்கைச் சுழற்சியைப் பயன்படுத்தலாம். பிற அனுப்பிகளை வைத்திருக்கும் பிற டெம்ப்ளேட்டுகள் தங்கள் சொந்தப் போக்குவரத்து உள்ளமைவை வைத்திருக்கும்.

தொடர்புடைய கட்டுரைகள்