public void twoWayTestWithCreateMessage(final TestCaseType testcase) throws Exception {
String address = testcase.getAddress();
EndpointInfo endpointInfo = new EndpointInfo();
endpointInfo.setAddress(JMSTestUtil.getFullAddress(address, broker.getBrokerURL()));
JMSConfiguration jmsConfig = JMSConfigFactory.createFromEndpointInfo(staticBus, endpointInfo, null);
ResourceCloser closer = new ResourceCloser();
try {
Connection connection = closer.register(JMSFactory.createConnection(jmsConfig));
connection.start();
Session session = closer.register(connection.createSession(false, Session.AUTO_ACKNOWLEDGE));
Destination targetDest = jmsConfig.getTargetDestination(session);
Destination replyToDestination = jmsConfig.getReplyToDestination(session, null);
JMSSender sender = JMSFactory.createJmsSender(jmsConfig, null);
Message jmsMessage = JMSTestUtil.buildJMSMessageFromTestCase(testcase, session, replyToDestination);
sender.sendMessage(session, targetDest, jmsMessage);
Message replyMessage = JMSUtil.receive(session, replyToDestination,
jmsMessage.getJMSMessageID(), 10000, true);
checkReplyMessage(replyMessage, testcase);
} catch (JMSException e) {
throw JMSUtil.convertJmsException(e);
} finally {
closer.close();
}
}