/** * Prepare the message to be sent. The message will be sent after the caller has written the payload to * the OutputStream of the message and called the stream's close method. In the JMS case the * JMSOutputStream will then call back the sendExchange method of this class. {@inheritDoc} */ public void prepare(final Message message) throws IOException { boolean isTextPayload = JMSConstants.TEXT_MESSAGE_TYPE.equals(jmsConfig.getMessageType()); MessageStreamUtil.prepareStream(message, isTextPayload, this); }
/** * Send an outbound message, assumed to contain all the name-value mappings of the corresponding input * message (if any). * * @param message the message to be sent. */ public void prepare(final Message message) throws IOException { // setup the message to be sent back javax.jms.Message jmsMessage = (javax.jms.Message)inMessage .get(JMSConstants.JMS_REQUEST_MESSAGE); message.put(JMSConstants.JMS_REQUEST_MESSAGE, jmsMessage); if (!message.containsKey(JMSConstants.JMS_SERVER_RESPONSE_HEADERS) && inMessage.containsKey(JMSConstants.JMS_SERVER_RESPONSE_HEADERS)) { message.put(JMSConstants.JMS_SERVER_RESPONSE_HEADERS, inMessage .get(JMSConstants.JMS_SERVER_RESPONSE_HEADERS)); } Exchange exchange = inMessage.getExchange(); exchange.setOutMessage(message); boolean isTextMessage = (jmsMessage instanceof TextMessage) && !JMSMessageUtils.isMtomEnabled(message); MessageStreamUtil.prepareStream(message, isTextMessage, this); }