Java异步调用webservice代码示例
时间: 2023-04-03 14:01:22 浏览: 148
java调用webservice实例代码
4星 · 用户满意度95%
以下是 Java 异步调用 webservice 的代码示例:
```
import javax.xml.ws.AsyncHandler;
import javax.xml.ws.Response;
import javax.xml.ws.WebServiceException;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
public class AsyncWebServiceClient {
public static void main(String[] args) {
MyWebService service = new MyWebService();
MyWebServicePortType port = service.getMyWebServicePort();
// 异步调用 webservice 方法
Future<?> future = port.myWebServiceMethodAsync("参数1", "参数2", new AsyncHandler<String>() {
@Override
public void handleResponse(Response<String> response) {
try {
// 获取异步调用结果
String result = response.get();
System.out.println("异步调用结果:" + result);
} catch (InterruptedException | ExecutionException e) {
throw new WebServiceException(e);
}
}
});
// 可以在此处执行其它操作
try {
// 等待异步调用结果返回
future.get();
} catch (InterruptedException | ExecutionException e) {
throw new WebServiceException(e);
}
}
}
```
其中,`MyWebService` 是 webservice 的服务端接口,`MyWebServicePortType` 是客户端调用接口。在异步调用时,需要传入一个 `AsyncHandler` 对象,用于处理异步调用结果。可以在异步调用之后执行其它操作,然后通过 `future.get()` 等待异步调用结果返回。
阅读全文