如何取消正在运行的AXIS 1.4 SOAP请求?

问题描述:

是否可以取消当前正在执行的SOAP请求(Axis 1.4,Java 1.6)?如何取消正在运行的AXIS 1.4 SOAP请求?

我正在使用WSDL2Java生成的接口,所以调用类似于myProvider.submitMyRequest(request)。这是同步的,直到收到响应才会返回。我希望能够根据外部条件中断呼叫。杀死运行请求的线程不足,我有什么选择?

我一直没找到办法。我找到的最接近的解决方案是在Stub类上设置一个超时(将myProvider强制转换为Stub),然后在一个线程中运行该请求,该线程可以保持超时而不会阻塞系统的其余部分。