Java Web服务异步调用:等待服务处理完成
我正在编写对web服务的第一个异步调用,代码如下:Java Web服务异步调用:等待服务处理完成,java,web-services,asynchronous,axis2,Java,Web Services,Asynchronous,Axis2,我正在编写对web服务的第一个异步调用,代码如下: public static void main(String[] args) throws Exception { String en ="x" ; String ar="xxxx" ; String tai ="x" ; WsStub wsStub = new WsStub("http://xxxxxxxxxxxxxxxxxxxx"); WebServiceCallbackHandler webServiceCallHandle
public static void main(String[] args) throws Exception {
String en ="x" ;
String ar="xxxx" ;
String tai ="x" ;
WsStub wsStub = new WsStub("http://xxxxxxxxxxxxxxxxxxxx");
WebServiceCallbackHandler webServiceCallHandler = new WebServiceCallbackHandler();
DemDis demDisp;
demDis = DemDis.Factory.newInstance();
demDis.setEn(en);
demDis.setArt(ar);
demDis.setTaille(tai);
DemDisDocument document = DemDisDocument.Factory.newInstance();
document.setDemDis(demandeDisponibilite);
for (int i = 0; i < 500; i++) {
wsStub.startdisp(document, webServiceCallHandler);
}
Thread.sleep(60000);
}
它工作正常,但我想补充一点:
线程应等待服务响应所有客户端请求(服务的处理完成)。您如何知道服务器中有多少客户端?以下是(int i=0;i<500;i++)的客户端数是的,这是清楚的,但这500在客户端是已知的,但在服务器(或回调)上是已知的不知道您何时完成发送请求。
public class WebServiceCallbackHandler extends WsCallbackHandler {
public void receiveResultdis(fr.srd.ws.wsb.ReponseDisDocument result) {
System.out.println(result);
}
public void receiveErrordis(java.lang.Exception e) {
e.printStackTrace();
}
}