`

WebService CXF 如何设置 timeout

阅读更多

由于用CXF构建的webservice使用的是spring配置方式很简单 
但是由于客户端使用jaxws:client方式请求的,这个请求方式不能直接配置timeout的
用spring配置jaxws客户端请求的的配置:

 

<jaxws:client id="" serviceClass="" address="" />

 

如果使用这种方式配置直接有timeout属性 

 

<http-conf:conduit>
         <http-conf:client ConnectionTimeout="30000"/>
</http-conf:conduit>

 

那我们继续使用jaxws:client配置方式如何设置timeout呢? 
只需在我们调用web service的代码之处加上: 

 

        long timeout = 10000L;
	Client client = ClientProxy.getClient(对应spring配置文件里你配置的clientid);
        if (client != null) {
            HTTPConduit conduit = (HTTPConduit) client.getConduit();
            HTTPClientPolicy policy = new HTTPClientPolicy();
            policy.setConnectionTimeout(timeout);
            policy.setReceiveTimeout(timeout);
            conduit.setClient(policy);
        }

 

分享到:
评论

相关推荐

    cxf超时设置

    在CXF中,超时通常涉及到两个主要方面:连接超时(Connect Timeout)和读取超时(Read Timeout)。 连接超时是指客户端尝试建立到服务器端的TCP连接时允许的最大时间。如果在这个时间内连接未建立成功,客户端将抛...

    cfx webservice 入门 详细步骤

    &lt;session-timeout&gt;60&lt;/session-timeout&gt; ``` **第三步:配置 cxf-servlet.xml** 在 `WEB-INF` 目录下创建 `cxf-servlet.xml` 文件,用于配置 CXF 服务。在这个文件中,我们定义了 JAX-WS 服务器,声明了服务接口...

    Webservice远程调试及超时操作原理解析

    2. 设置Web服务对象的`Timeout`属性,例如对于一个名为`WebServiceTest.Service1`的服务,我们可以这样设置: ```csharp WebServiceTest.Service1 src = new TestWinApp.WebServiceTest.Service1(); src.Url = ...

    java.net.SocketException Connection reset 解决方法

    解决这个问题的方法包括设置 Socket 的 timeout 时间、确保连接关闭后不再发送数据和使用连接池或其他机制来管理连接。同时,我们也可以通过实践经验来了解到,timer 的方法可能会导致大量的 Socket 连接建立和关闭...

    Java ExcutorService优雅关闭方式解析

    接着,`executorService.awaitTermination(timeout, TimeUnit.SECONDS)`是一个阻塞方法,它会等待线程池中的所有任务执行完毕,或者直到给定的超时时间到达。如果在指定时间内所有任务都已完成,那么返回true;否则...

Global site tag (gtag.js) - Google Analytics