日期:2014-05-20  浏览次数:20652 次

关于axis1.x的超时处理
axis1.x可以通过继承org.apache.axis.handlers.BasicHandler来做个一个超时过滤器
Java code

import org.apache.axis.AxisFault;
import org.apache.axis.MessageContext;
import org.apache.axis.handlers.BasicHandler;

public class WsHandler extends BasicHandler {
    @Override
    public void invoke(MessageContext messageContext) throws AxisFault {
        messageContext.setTimeout(3000);//3秒
    }
}



但是这个只能针对服务端正常,但返回用时超时的情况, 会抛出(read time out) 的异常.

如果服务端挂了, 客户端程序调用服务后, 就会等待一定时间(时间不可控), 然后抛出连接异常(connect time out)

问题就是 等待的时间 不可控.

请问对于服务端挂了的情况, 要怎么控制这个超时呢???

------解决方案--------------------
给我分数