开发者

SOAP connections through a proxy using URLEndpoint

开发者 https://www.devze.com 2023-02-08 22:56 出处:网络
I\'ve had to update a previous java application that requests a SOAP response from an external web service. This service is outside our firewall which now requires us to go through a proxy instead of

I've had to update a previous java application that requests a SOAP response from an external web service. This service is outside our firewall which now requires us to go through a proxy instead of hitting the URL directly.

Currently the Java App uses URLEndpoint that takes a string for the URL. Usually when I am getting to a URL through a proxy I create a URL like so:

URL url = new URL("http", "theproxy.com", 5555, finalUrl);

The problem is URLEndpoint only takes a string for the url, I tried to convert URL to string using toExternalForm() but it malformed the URL.

Any ide开发者_运维知识库as as to a way around this?

EDIT: I can't use System.setProperty as this runs with a whole heap of other Java applications in tomcat.

second edit: I can't set a system properties as it will override all other applications running on the server, I can't use jsocks as the proxy we run through squid proxy which does not support socks4/5

Any help appreciated.


That's not how proxy's work. The way a proxy works is that you take your normal URL:

http://example.com/service

and instead of looking up "example.com" and port 80, the message is sent to your proxy host instead (http://theproxy.com:5555).

Java has built in proxy handling using http.proxyHost and http.proxyPort System properties.

So in your case you would need to do:

System.setProperty("http.proxyHost", "theproxy.com");
System.setProperty("http.proxyPort", "5555");

Then your code should, ideally, "Just Work".

Here is a page documenting the proxy properties.


Use Apache HttpClient and do as show in this example.


About the URL constructor with individual proxy setting:

http://edn.embarcadero.com/article/29783

(sorry don't have privileges to comment)

0

精彩评论

暂无评论...
验证码 换一张
取 消