错误消息表示 Web 服务客户端尝试通过网络从远程 Web 服务接收数据,但在特定时间段内未收到任何数据,因此 Web 服务客户端停止等待接收数据。
其中一个可能的原因可能是属性太低。默认值分别为 cxf 默认值 30000 和 60000 毫秒。这些可以根据您创建客户端的方式进行更改。timeout
如果您使用 Java 代码创建客户端,则可以使用:
//1 minute for connection
((BindingProvider) wsPort).getRequestContext().put("com.sun.xml.ws.connect.timeout", 1 * 60 * 1000);
//3 minutes for request
((BindingProvider) wsPort).getRequestContext().put("com.sun.xml.ws.request.timeout", 3 * 60 * 1000);
如果您使用的是Spring,则可以使用如下地图:
<util:map id="jaxwsProperties">
<entry key="com.sun.xml.internal.ws.request.timeout">
<value type="java.lang.Integer">120000</value>
</entry>
<entry key="com.sun.xml.internal.ws.connect.timeout">
<value type="java.lang.Integer">60000</value>
</entry>
</util:map>
然后将该映射设置到您的配置中。<jaxws:client.../>