Source response = callbackHandler.getValue();
assertNotNull(response);
// Prepare the response content for checking
XMLStreamReader reader = inputFactory.createXMLStreamReader(response);
Reader2Writer r2w = new Reader2Writer(reader);
String responseText = r2w.getAsString();
TestLogger.logger.debug(responseText);
// Check to make sure the content is correct
assertTrue(responseText.contains("soap"));
assertTrue(responseText.contains("Envelope"));
assertTrue(responseText.contains("Body"));
assertTrue(responseText.contains("echoStringResponse"));
// Invoke a second time to verify
// We'll need a callback instance to handle the async responses
callbackHandler = new AsyncCallback<Source>();
// Create a StreamSource with the desired content
bytes = DispatchTestConstants.sampleSoapMessage.getBytes();
stream = new ByteArrayInputStream(bytes);
srcStream = new StreamSource((InputStream) stream);
TestLogger.logger.debug(">> Invoking async (callback) Dispatch with MESSAGE mode");
monitor = dispatch.invokeAsync(srcStream, callbackHandler);
// Wait for the async response to be returned
while (!monitor.isDone()) {
TestLogger.logger.debug(">> Async invocation still not complete");
Thread.sleep(1000);
}
response = callbackHandler.getValue();
assertNotNull(response);
// Prepare the response content for checking
reader = inputFactory.createXMLStreamReader(response);
r2w = new Reader2Writer(reader);
responseText = r2w.getAsString();
TestLogger.logger.debug(responseText);
// Check to make sure the content is correct
assertTrue(responseText.contains("soap"));
assertTrue(responseText.contains("Envelope"));