0

我在 Web 代理后面安装了 ServiceMix,我需要它通过 Internet 调用 Web 服务。

我尝试在我的代码中设置代理设置

System.setProperty("http.proxyHost" .....

(丑陋和hacky,我知道)以及设置

http.proxyHost=myproxy
http.proxyPort=8080
http.proxyUser=myuser
http.proxyPassword=mypassword

在 ServiceMix 的 etc/system.properties 文件中。

这些都没有奏效。任何建议,将不胜感激。谢谢你。

4

2 回答 2

0

由于您使用 ServiceMix,您很可能正在使用带有 CXF 的 Camel 来调用此 Web 服务。您需要通过设置 http-client 配置在 Camel 上下文中设置此代理,尤其是对于 CXF。看看这个链接,它向您展示了如何配置 CXF 的 http 管道。我相信您也可以通过这种方式设置代理。

于 2013-06-06T06:30:16.730 回答
0

使用 http:conduit:

  <http:conduit name="*.http-conduit">
    <http:authorization>
      <sec:UserName>Betty</sec:UserName>
      <sec:Password>password</sec:Password>
    </http:authorization>
    <http:client ProxyServer="x.x.x.x" ProxyServerPort="xxxx"/>

  </http:conduit>

请参阅:http ://cxf.apache.org/docs/client-http-transport-including-ssl-support.html

于 2014-07-02T20:57:46.003 回答