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 અને અન્ય સેટિંગ્સ જાળવી રાખો. આ Spring-WS 4.1.0 છે Apache HttpClient 5 સાથે. જો ટેમ્પલેટ પ્રોક્સી પ્રમાણીકરણ વિનાની માન્ય જાહેર SOAP સેવાને લક્ષ્ય બનાવે, તો HTTP પ્રોક્સી સૂચિમાંથી HTTP સરનામું કસ્ટમાઇઝરની પ્રોક્સી ભરી શકે છે.

withDefaults SOAP દ્વારા પૂરા પાડવામાં આવેલા Content-Length અને Transfer-Encoding દૂર કરતા ઇન્ટરસેપ્ટરને રાખે છે, Apache HTTP ફ્રેમિંગ બનાવે તે પહેલાં. ત્યાં પ્રોક્સી કસ્ટમાઇઝર ઉમેરવાથી તે સંકલનને નગ્ન ક્લાયન્ટ દ્વારા બદલવાનું ટાળી શકાય છે. અલગથી બનાવેલા Apache ક્લાયન્ટ માટે, Spring-WS ના હેડર દૂર કરતા ઇન્ટરસેપ્ટરને રાખો.

ઇમ્પોર્ટ અને પ્રેષક બનાવવાનું મેળવો. HttpComponentsMessageSender/org.apache.http વાપરતા જૂના ઉદાહરણો Apache 4 વાપરે છે, આ SimpleHttpComponents5MessageSender અને HttpHost ઇન્ટરફેસ નહીં.

SOAP ક્લાયન્ટના આખા આયુષ્ય દરમિયાન હાથે બનાવેલો પ્રેષક રાખો અને પછી તેનો સામાન્ય નાશ ગોઠવો. Spring દ્વારા સંચાલિત બીન કન્ટેનરનું જીવનચક્ર વાપરી શકે છે. બીજા પ્રેષકો રાખતા બીજા ટેમ્પલેટ તેમનું પોતાનું પરિવહન કન્ફિગરેશન રાખે છે.

સંબંધિત લેખો