在从JBossWS-Native客户端调用外部Web服务时,是否可以提示如何设置单独的连接和读取超时?
到目前为止我发现的是如何设置一个超时:
bindingProvider.getRequestContext().put("org.jboss.ws.timeout", 1000);
JBoss论坛上同样的问题(很长一段时间没有答案): http://community.jboss.org/thread/103582
正在使用的版本:JBoss 4.2.x上的jbossws-native-2.0.1.SP2和jbossws-native-3.1.1.GA。
答案 0 :(得分:2)
检查了source - 根本不可能。有一次超时。
去jbossws jira愿意提交功能请求。 但是找到了JBWS-3114和message:
我添加了这两个属性 “javax.xml.ws.client.connectionTimeout” “javax.xml.ws.client.receiveTimeout”到cxf和本机堆栈的 堆栈不可知超时配置:
public void testConfigureTimeout() throws Exception
{
//Set timeout until a connection is established
((BindingProvider) port).getRequestContext().
put("javax.xml.ws.client.connectionTimeout", "6000");
//Set timeout until the response is received
((BindingProvider) port).getRequestContext().
put("javax.xml.ws.client.receiveTimeout", "1000");
String response = port.echo("testTimeout");
System.out.prinltn("Received response : response");
}
这应该包含在3.4.0版本中。
重新检查source - 就在那里!
不幸的是,根据compatibility matrix,仅在JBoss AS 5.0.1之后才支持jbossws-3.4.0。