2

我有一个应用程序,它使用 Spring 通过 JaxWsPortProxyFactoryBean 类与一些 Web 服务通信。一切正常。

我的应用程序的另一部分需要与 Internet 通信(对于一些 RSS 源),所以我需要配置我的代理设置。为此,我将以下系统属性添加到我的 Tomcat 服务器:

-Dhttp.proxyHost=webproxy -Dhttp.proxyPort=80 -Dhttp.proxyUser=myUser -Dhttp.proxyPassword=myPass

我的 RSS 提要现在可以工作(所以代理设置都正确),但我的 Web 服务调用失败并出现以下问题:

org.springframework.remoting.RemoteAccessException: Could not access remote service at [null]; nested exception is com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 403: Forbidden
at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:504)
at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.invoke(JaxWsPortClientInterceptor.java:481)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)

看起来我的应用程序正在尝试通过代理进行 web 服务调用(这是本地系统),因此尝试为 web 服务域设置 nonProxyHosts 属性(注意 - 似乎与文档中关于此的错字有些混淆- 因此有 2 个值):

-Dhttp.noProxyHosts="localhost|myDomain.co.uk" -Dhttp.nonProxyHosts="localhost|myDomain.co.uk"

但是,我的 Web 服务调用仍然出现 403 Forbidden 异常。

任何建议,因为我对为什么 http.noProxyHosts/.nonProxyHosts 似乎没有被应用感到有些困惑?

仅供参考 - 我正在使用 Spring 3.1.0.RELEASE 和 Tomcat 6.0.32

4

0 回答 0