private String sendMessage(final Object request, final Message outMessage,
Destination replyToDestination, String correlationId,
ResourceCloser closer, Session session) throws JMSException {
JMSMessageHeadersType headers = getOrCreateJmsHeaders(outMessage);
javax.jms.Message message = JMSMessageUtils.asJMSMessage(jmsConfig,
outMessage,
request,
jmsConfig.getMessageType(),
session,
correlationId,
JMSConstants.JMS_CLIENT_REQUEST_HEADERS);
if (replyToDestination == null && headers.isSetJMSReplyTo()) {
String replyTo = headers.getJMSReplyTo();
replyToDestination = jmsConfig.getReplyDestination(session, replyTo);
}
if (replyToDestination != null) {
message.setJMSReplyTo(replyToDestination);
}
JMSSender sender = JMSFactory.createJmsSender(jmsConfig, headers);
Destination targetDest = jmsConfig.getTargetDestination(session);
sender.sendMessage(session, targetDest, message);
String jmsMessageID = message.getJMSMessageID();
LOG.log(Level.FINE, "client sending request message "
+ jmsMessageID + " to " + targetDest);
headers.setJMSMessageID(jmsMessageID);
return jmsMessageID;
}