如何设置Glassfish通过代理服务器?

Rón*_*áin 3 java connection proxy glassfish

我一直遇到在办公室内在本地计算机上运行Glassfish v2.1.1实例的问题,我们在那里有一个用于传出连接的代理服务器.我最初的解决方法是在家工作.

我在公司外部的HTTPS服务器上调用SOAP服务.由于Glassfish不通过公司的代理服务器,因此在尝试初始化SOAP客户端时出现以下错误:

javax.xml.ws.WebServiceException: Failed to access the WSDL at: https://www.hostname.com...
Run Code Online (Sandbox Code Playgroud)

Caused by: java.net.UnknownHostException: www.hostname.com
Run Code Online (Sandbox Code Playgroud)

我在我的命令行上设置了代理环境变量,以及我的系统代理设置都正常工作,以便我可以使用浏览器访问WSDL.我该如何配置Glassfish?

Rón*_*áin 7

我在寻找答案时遇到了很多麻烦,因为网上没有详细介绍这个主题.一个链接告诉我如何配置HTTP代理,但没有提到任何关于HTTPS的内容,所以我花了一些时间来弄清楚它.

在Glassfish服务器上打开管理控制台,然后转到:Application Server - > JVM设置 - > JVM选项.单击"添加JVM选项"4次,然后输入以下4个选项

-Dhttp.proxyHost=proxyhostname
-Dhttp.proxyPort=8080
-Dhttps.proxyHost=proxyhostname
-Dhttps.proxyPort=8080
Run Code Online (Sandbox Code Playgroud)

proxyhostname和端口号对于您的设置是正确的.然后,您需要重新启动服务器.

请注意,我找不到任何从PAC文件设置代理的选项,也找不到需要auth的代理.在这种情况下,您可能需要安装一个本地auth代理处理程序,如Authoxy for Mac OS X,它将您的localhost转换为非auth代理,并屏蔽来自中央auth代理的身份验证请求.

此外,此链接适用于JVM的各种代理选项:http: //download.oracle.com/javase/6/docs/technotes/guides/net/proxies.html