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 ලිපිනයකට අභිරුචිකරණයේ ප්‍රොක්සිය පිරවිය හැක.

withDefaults Apache HTTP රාමුව සාදන්නට පෙර SOAP සපයන Content-Length සහ Transfer-Encoding ඉවත් කරන අන්තර්ග්‍රාහකය රඳවා ගනී. එහි ප්‍රොක්සි අභිරුචිකරණය එකතු කිරීම එම ඒකාබද්ධතාවය නිරුවත් සේවාදායකයකින් ප්‍රතිස්ථාපනය වීම වළක්වයි. වෙන වශයෙන් ගොඩනගන ලද Apache සේවාදායකයක් සඳහා, Spring-WS හි ශීර්ෂ ඉවත් කරන අන්තර්ග්‍රාහකය රඳවා ගන්න.

ආයාත සහ යවන්නා ජනනය ගැලපෙන ලෙස සකසන්න. HttpComponentsMessageSender/org.apache.http භාවිත කරන පැරණි උදාහරණ Apache 4 භාවිත කරයි, මෙම SimpleHttpComponents5MessageSender සහ HttpHost අතුරුමුහුණත නොවේ.

SOAP සේවාදායකයේ මුළු ආයු කාලය පුරාම අතින් සාදන ලද යවන්නා රඳවා ගන්න, පසුව එහි සාමාන්‍ය විනාශය සැලසුම් කරන්න. Spring මගින් කළමනාකරණය කරන bean එකකට භාජනයේ ජීවන චක්‍රය භාවිත කළ හැක. වෙනත් යවන්නන් රඳවා ගන්නා වෙනත් අච්චු තමන්ගේම ප්‍රවාහන වින්‍යාසය රඳවා ගනී.

අදාළ ලිපි