在Spring Web应用程序中配置HTTP代理

时间:2011-05-06 07:24:29

标签: web-services spring http proxy

我一直在寻找在Spring Web应用程序中配置HTTP代理的正确方法。不幸的是,每次我得到的结果都是关于AOP代理而不是HTTP代理。

基本上,我的应用程序的一个模块正在使用JAX-WS在Spring XML文件中运行一个webservice客户端配置,如下所示:

<bean id="heartBeatWebservice" class="org.springframework.remoting.jaxws.JaxWsPortProxyFactoryBean">  
    <property name="serviceInterface" value="the.web.service.interface"/>  
    <property name="wsdlDocumentUrl" value="http://thehost:theport/theservicename.wsdl"/>  
    <property name="serviceName" value="TheServiceName"/>  
    <property name="namespaceUri" value="http://the.namespace/"/>  
    <property name="portName" value="TheWebServicePortName"/>  
</bean>

但我的应用程序必须在HTTP代理后面运行以便能够调用Web服务,我必须承认我不知道如何在Spring上下文中正确地执行它。

我尝试了一些我编写的主要课程,首先试用这段代码:

System.setProperty("http.proxyHost", "my.proxy.addr");  
System.setProperty("http.proxyPort", "8080");  

不幸的是,它没有按预期工作。我假设有一种很好的方法在Spring上下文中配置HTTP代理但无法找到如何...

你能给我一个提示吗?

1 个答案:

答案 0 :(得分:7)

不需要任何特定于Spring的HTTP代理配置。 它应该使用标准的Java HTTP代理设置,所以你要走正确的路线。 您可以尝试使用-Dhttp.proxyHost=my.proxy.host -Dhttp.proxyPort=8080而不是使用System.setProperty运行主类吗?