On Tue, 2009-10-06 at 12:19 -0700, zeptov wrote: > I copied the wrong code for the sender. Here's an update with some more > debugging. > > The length of the message content before sending is 10366. When received, > all properties are okay; the message content key is present, but the content > is an empty string. >
Could you open a new Jira issue for this problem and attach your short, but complete sender receiver test app. This looks to be a bug, opening an issue will make sure it doesn't get lost. Regards Tim. > Sender: > > > try > { > session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); > MessageProducer producer = null; > Topic topic = session.createTopic(getSubject()); > producer = session.createProducer(topic); > producer.setDeliveryMode(DeliveryMode.PERSISTENT); > MapMessage mapMessage = session.createMapMessage(); > if(properties!=null && !properties.isEmpty()) > { > java.util.Iterator keyIter = properties.keySet().iterator(); > while(keyIter.hasNext()) > { > String key = keyIter.next(); > mapMessage.setStringProperty(key, properties.get(key)); > } > } > mapMessage.setString("MessageContent", xmlCommand); > logger.info("Message content length=" + > mapMessage.getString("MessageContent").length()); > producer.send(mapMessage); > } > > > Receiver: > > > private void receiver_Listener(IMessage message) > { > IMapMessage mapMessage = message as IMapMessage; > if (mapMessage != null) > { > string content = mapMessage.Body.GetString("MessageContent"); > Logger.Info("Body count=" + mapMessage.Body.Count); > Logger.Info("Prop count=" + mapMessage.Properties.Count); > foreach (string curkey in mapMessage.Body.Keys) > { > Logger.Info("Body Key=" + curkey + ", value=" + > mapMessage.Body[curkey]); > } > foreach (string curkey in mapMessage.Properties.Keys) > { > Logger.Info("Prop Key=" + curkey + ", value=" + > mapMessage.Properties[curkey]); > } > } > } > >