错误如下:
org.apache.commons.httpclient.HttpMethodBase writeRequest
信息: 100 (continue) read timeout. Resume sending the request
org.apache.commons.httpclient.HttpMethodBase readResponse
信息: Discarding unexpected response: HTTP/1.1 100 Continue
经网络查询得到可能解决办法:
但是方法不知道如何使用,遂查找其他方法,终于解决Xfire默认的多次握手报错了。
方法来源如下:
我的代码如下:
Service srvcModel = new ObjectServiceFactory().create(IQueryBAService.class);
XFire xfire = XFireFactory.newInstance().getXFire();
XFireProxyFactory factory = new XFireProxyFactory(xfire);
IHelloWorldService hs = null;
try {
hs = (IHelloWorldService) factory.create(srvcModel, "http://..url...");
} catch (MalformedURLException e) {
e.printStackTrace();
}
Client client =Client.getInstance(hs);
client.setTimeout(20000);
//设置发送的超时限制,单位是毫秒;
client.setProperty(CommonsHttpMessageSender.HTTP_TIMEOUT, String.valueOf(20000));
client.setProperty(CommonsHttpMessageSender.DISABLE_KEEP_ALIVE, "true");
client.setProperty(CommonsHttpMessageSender.DISABLE_EXPECT_CONTINUE, "true");
String res = hs.queryBA(queryConditionType, queryCondition);
return res;