jsp调webservice怎么判断超时?

来源:百度知道 编辑:UC知道 时间:2024/04/28 06:49:25
在action调用了webservice的一个接口,约定的是超过20秒,我们就在页面上提示接口返回超时,但在20秒内只要接口有返回,接口马上停止等待向下执行,请问这要怎么写代码才好呢?
Service service = new Service();
Call call = null;
call = (Call) service.createCall();

// 调用WebService接口
System.out.println(">>>调用WebService接口doBusinessService方法—开始--");
call.setOperationName(new QName(nameSpaceUri, "doBusinessService"));
call.setTargetEndpointAddress(new java.net.URL(wsdlUrl));

最好能
直接睡眠写20秒,在睡的时候监听call
call!=null马上就唤醒睡眠的进程
这个能实现么?

楼主,WebService我做过服务端,还真没考虑调用超时的问题,这样思路不知道行不行,能否用睡眠20秒的方式,Thread.currentThread().sleep(20000),
如果20秒后没有给你返回信息(休眠结束后判断call==null),则停止等待

webservice提供了setTimeout()方法,超时后会抛异常,你捕获就可以了