如何在Spring WebServiceTemplate中设置超时 [英] How to set timeout in Spring WebServiceTemplate

查看:134
本文介绍了如何在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>

这篇关于如何在Spring WebServiceTemplate中设置超时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆