Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to set proxy server details on WebServiceTemplate

I have a SOAP webservice endpoint url(let's say :"EP1") which we can connect only through a proxy server.

We are using org.springframework.ws.client.core.WebServiceTemplate class to consume webservices.

My question is, Is there a way that I can pass/set the proxy server details on WebServiceTemplate to connect to endpoint url "EP1"?

like image 641
september Avatar asked Nov 23 '15 19:11

september


People also ask

How do I change my proxy settings in Spring Tool Suite?

You can configure proxy settings in Internet Options in Control Panel . Just click on Connections tab and LAN Settings button. Check Use a proxy server for your LAN (...) box and provide proxy details.


2 Answers

You can specify custom HttpClient via HttpComponentsMessageSender when constructing the WebServiceTemplate. You can then pass default request config which includes the proxy to the client. Something like this should work:

RequestConfig config = RequestConfig
        .custom()
        .setProxy(new HttpHost("host"))
        .build();

CloseableHttpClient client = HttpClients
        .custom()
        .setDefaultRequestConfig(config)
        .build();

HttpComponentsMessageSender messageSender = new HttpComponentsMessageSender(client);

WebServiceTemplate wsTemplate = new WebServiceTemplate();
wsTemplate.setMessageSender(messageSender);
// Set other required properties ...

You might need to set other properties on the WebServiceTemplate object or the HttpClient depending on your needs so on. But this should demonstrate the basic concept.

Also take a look at this sample illustrating the usage of proxies in Apache HTTP client.

like image 160
Bohuslav Burghardt Avatar answered Oct 19 '22 22:10

Bohuslav Burghardt


You must use VM arguments: -Dhttp.proxyHost=mydomain.com -Dhttp.proxyPort=8080

Having in mind that this setting applies to all HTTP requests made from Java.

like image 29
dmotta Avatar answered Oct 20 '22 00:10

dmotta