【发布时间】:2015-02-25 21:55:43
【问题描述】:
为 Java JVM 6.x 设置 HTTP 代理对我不起作用;我希望有人能发现我缺少的东西。
我在 JBOSS 5.1.2 上部署了一个 Java 应用程序,它多次调用外部 Web 服务。我希望能够使用代理拦截这些调用:Fiddler 版本 4.4.8.0。
在执行SO search 之后,我在启动时将以下标志添加到我的 JBOSS VM 参数中:
-DproxySet=true -Dhttp.proxyHost=localhost -Dhttp.proxyPort=8888 -Dhttps.proxyHost=localhost -Dhttps.proxyPort=8888
我在 IntelliJ 14 中运行 JBOSS。
如果我启动 JBOSS、Fiddler 并在 Chrome 中打开 UI,我可以看到从浏览器到应用程序的流量。我没有看到任何从 JBOSS 到外部服务的调用被拦截。我以为除了浏览器对 JBOSS 的调用之外,我还会看到从 JBOSS 对外部服务的所有调用。
更新:
我尝试根据this SO answer 将这些添加到 properties-service.xml - 不高兴。
我正在运行 Spring 3,使用 Apache HttpClient 作为我的 Web 服务客户端。我将研究为它配置代理。
【问题讨论】:
-
如果 jboss 中的代码建立自己的 Socket 连接并选择忽略代理配置,则不会被代理。这些参数仅影响其他各种库中的 HttpURLConnection 和“同意的成年人”。
-
我会回答这个问题,但我怀疑你不知道,所以我猜我错过了什么。
-
你给了我太多的信任。我不知道。也许这是我需要进一步研究的事情。
-
感谢您一贯的明智建议。知道不该看的地方是有帮助的。我发现有一个 JBOSS 配置可以解决问题。立即尝试:stackoverflow.com/questions/2183215/…
-
请参阅下面的答案。去 Spring 配置就行了。
标签: java proxy jvm fiddler intellij-14