I am using a MessageConverter for the first time, and trying to use a SimpleMessageConverter to convert the results of an HttpServletRequest request.getParameterMap() to a MessageMap.
(where msg is a Map object)Code:public void sendMessage(final Object msg) { if (LogManager.isDebug()) LogManager.debug("Publishing msg: " + msg); jmsTemplate.convertAndSend(msg); }
The call to message.setObject((String) entry.getKey(), entry.getValue());
in SimpleMessageConverter is resulting in a MessageFormatException, and I don't understand why?
The value it is trying to convert is "4"
Can anyone suggest what might be wrong? I checked the code for MessageMap, and it indicates it should be able to handle a String value.Code:javax.jms.MessageFormatException: CWSIA0188E: An incorrect object of type [Ljava.lang.String; was provided. at com.ibm.ws.sib.api.jms.impl.JmsMapMessageImpl.setObject(JmsMapMessageImpl.java:1066) at org.springframework.jms.support.converter.SimpleMessageConverter.createMessageForMap(SimpleMessageConverter.java) at org.springframework.jms.support.converter.SimpleMessageConverter.toMessage(SimpleMessageConverter.java:80) at org.springframework.jms.core.JmsTemplate$5.createMessage(JmsTemplate.java:569) at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:509)


Reply With Quote