我org.springframework.ws.client.core.WebServiceTemplate用于拨打Web服务。如何为通话配置超时。
如果你使用的是Spring Webservices 2.1.0版本,则可以使用HttpComponentsMessageSender设置超时。
Spring不推荐使用CommonsHttpMessageSender,因此不再推荐使用。
实现方式中,我定义了WebServiceTemplate以使用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文件中,就添加了以下内容
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.2.1</version> <scope>compile</scope> </dependency>