如何在Spring WebServiceTemplate中设置超时
我正在使用 org.springframework.ws.client.core.WebServiceTemplate
。如何为调用配置超时。
I am using org.springframework.ws.client.core.WebServiceTemplate
for making Web Service calls. How can i configure timeout for the call.
如果您使用的是Spring Webservices 2.1.0版本,则可以使用设置超时 HttpComponentsMessageSender 。
If you are using Spring Webservices 2.1.0 version, You can set timeout using HttpComponentsMessageSender.
CommonsHttpMessageSender 已被弃用,不再被Spring推荐。
CommonsHttpMessageSender are deprecated and not recommended by Spring anymore.
我实现它的方式,我定义我的WebServiceTemplate使用HttpComponentsMessageSender。
The way I have it implemented, I define my WebServiceTemplate to use HttpComponentsMessageSender.
值以毫秒为单位
<bean id="webServiceTemplate" class="org.springframework.ws.client.core.WebServiceTemplate">
<property name="defaultUri" value="${endpoint.url}" />
<property name="marshaller" ref="marshaller" />
<property name="unmarshaller" ref="unmarshaller" />
<property name="messageSender">
<bean class="org.springframework.ws.transport.http.HttpComponentsMessageSender">
<property name="connectionTimeout" value="1200000" />
<property name="readTimeout" value="1200000" />
</bean>
</property>
</bean>
只需确保您的pom文件中添加了以下内容
Just Make sure you have in your pom file, you added the following
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.2.1</version>
<scope>compile</scope>
</dependency>