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 උදාහරණ වෙනත් සේවාලාභී පරම්පරාවක් විස්තර කරයි.