}
private void validateResponse(Servlet servlet) throws Exception {
jettyContext.addServlet(new ServletHolder(servlet), "/");
jettyServer.start();
FaultAwareWebServiceConnection connection =
(FaultAwareWebServiceConnection) messageSender.createConnection(connectionUri);
SOAPMessage request = createRequest();
try {
connection.send(new SaajSoapMessage(request));
SaajSoapMessage response = (SaajSoapMessage) connection.receive(messageFactory);
Assert.assertNotNull("No response", response);
Assert.assertFalse("Response has fault", connection.hasFault());
SOAPMessage saajResponse = response.getSaajMessage();
String[] headerValues = saajResponse.getMimeHeaders().getHeader(RESPONSE_HEADER_NAME);
Assert.assertNotNull("Response has no header", headerValues);
Assert.assertEquals("Response has invalid header", 1, headerValues.length);
Assert.assertEquals("Response has invalid header values", RESPONSE_HEADER_VALUE, headerValues[0]);
StringResult result = new StringResult();
Transformer transformer = transformerFactory.newTransformer();
transformer.transform(response.getPayloadSource(), result);
assertXMLEqual("Invalid response", RESPONSE, result.toString());
}
finally {
connection.close();
}
}