List of usage examples for javax.xml.ws Dispatch invokeAsync
public Future<?> invokeAsync(T msg, AsyncHandler<T> handler);
From source file:org.ebayopensource.turmeric.runtime.tests.common.sif.tester.ServicePayloadExecutor.java
@SuppressWarnings({ "rawtypes", "unchecked" })
private void invokeAsyncPush(ExecutionScope scope, Service svc, List<Object> outParams) throws Exception {
Dispatch dispatch = null;
Future future = null;/* w w w. j a v a 2 s. c o m*/
try {
dispatch = svc.createDispatch(operationName);
GenericAsyncHandler handler = new GenericAsyncHandler<MyMessage>();
if (useInParams) {
future = dispatch.invokeAsync(message, handler);
} else {
future = dispatch.invokeAsync(null, handler);
}
while (!future.isDone()) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
break;
}
}
if (handler.hasError()) {
throw (ExecutionException) handler.getError();
}
outParams.add(handler.get());
Response response = handler.getResponse();
assertNotExpectingException();
if (assertPayload != null) {
byte payload[] = (byte[]) response.getContext().get("PAYLOAD");
assertPayload.assertPayload(scope, svc, payload);
}
if (assertResponse != null) {
assertResponse.assertResponse(scope, svc, new ResponseAssertableResponse(response));
}
} finally {
}
}