java - 如何将 Glassfish 设置为通过代理服务器?

标签 java proxy connection glassfish

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

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

javax.xml.ws.WebServiceException: Failed to access the WSDL at: https://www.hostname.com...

Caused by: java.net.UnknownHostException: www.hostname.com

我在命令行上设置了代理环境变量,我的系统代理设置也都正常工作,这样我就可以通过浏览器访问 WSDL。我应该如何配置 Glassfish?

最佳答案

我很难找到这个问题的答案,因为网络上没有很多详细信息涵盖这个主题。一个链接告诉我如何配置 HTTP 代理,但没有提到 HTTPS,所以我花了一段时间才弄明白。

打开 Glassfish 服务器上的管理控制台并转到: 应用程序服务器 -> JVM 设置 -> JVM 选项。点击“Add JVM Option”4次,输入以下4个选项

-Dhttp.proxyHost=proxyhostname
-Dhttp.proxyPort=8080
-Dhttps.proxyHost=proxyhostname
-Dhttps.proxyPort=8080

其中 proxyhostname 和端口号对于您的设置是正确的。然后需要重启服务器。

请注意,我找不到任何用于从 PAC 文件设置代理的选项,也找不到需要身份验证的代理的选项。在这种情况下,您可能需要安装本地身份验证代理处理程序,例如适用于 Mac OS X 的 Authoxy,它将您的本地主机变成非身份验证代理并屏蔽来自中央身份验证代理的身份验证请求。

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

关于java - 如何将 Glassfish 设置为通过代理服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7274041/

上一篇:Java - 打印随机字

下一篇:Java 字节数组

相关文章:

java - IntelliJ IDEA 可以为同一项目的文件打开多个编辑器窗口吗?

windows - Git 错误 : fatal: unable to connect a socket (Invalid argument)

java - Connection 接口(interface)中的 isClose() 方法和 isValid() 方法有什么区别?

php - mysql_query 连接 NULL 结果,但我已经连接成功

java - 随机移动到二维数组中的新实例一次

java - ComponentView 在顶部有不必要的额外插入

api - 使用 aws API 网关 lambda 构建 Web 后端 api

java - 连接对象的单例实例是否会在 Web 应用程序中产生问题

java - 从 Map<Integer, String> 中检索键在特定范围内的所有条目

javascript - JS 代理拦截键和嵌套键不返回回退值