Настройка HTTP-прокси в веб-приложении Spring

#web-services #spring #http #proxy

#веб-службы #spring #http #прокси

Вопрос:

Я искал правильный способ настройки HTTP-прокси в веб-приложении Spring. К сожалению, каждый раз, когда я получаю результаты, речь идет о прокси AOP, а не о HTTP-прокси.

По сути, один модуль моего приложения запускает настройку клиента веб-сервиса в XML-файле Spring с помощью JAX-WS, предоставляя что-то вроде :

 <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-прокси, чтобы иметь возможность вызывать веб-службу, и я должен признать, что я не знаю, как это правильно сделать в контексте Spring.

Я попытался в некотором основном классе, который я написал, сначала опробовать этот код :

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

К сожалению, это сработало не так, как ожидалось. Я предполагаю, что есть хороший способ настроить HTTP-прокси в контексте Spring, но не могу выяснить, как…

Можете ли вы дать мне подсказку?

Ответ №1:

Не требуется никакой специфичной для Spring конфигурации HTTP-прокси. В нем должны использоваться стандартные настройки Java HTTP proxy, так что вы движетесь в правильном направлении. Можете ли вы попробовать запустить основной класс с помощью -Dhttp.proxyHost=my.proxy.host -Dhttp.proxyPort=8080 , а не с помощью System.setProperty?