diff options
-rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessageFactory.java | 14 | ||||
-rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/message/MessageFactoryRegistry.java | 8 |
2 files changed, 18 insertions, 4 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessageFactory.java b/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessageFactory.java index 54a845ceef..3071abf6ff 100644 --- a/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessageFactory.java +++ b/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessageFactory.java @@ -131,8 +131,18 @@ public abstract class AbstractJMSMessageFactory implements MessageFactory .remaining()); } // set the properties of this message - MessageProperties mprop = (MessageProperties) contentHeader[0]; - DeliveryProperties devprop = (DeliveryProperties) contentHeader[1]; + MessageProperties mprop; + DeliveryProperties devprop; + if( contentHeader.length >1 ) + { + mprop = (MessageProperties) contentHeader[0]; + devprop = (DeliveryProperties) contentHeader[1]; + } + else + { + mprop = new MessageProperties(); + devprop = (DeliveryProperties) contentHeader[0]; + } AMQMessageDelegate delegate = new AMQMessageDelegate_0_10(mprop, devprop, messageNbr); diff --git a/java/client/src/main/java/org/apache/qpid/client/message/MessageFactoryRegistry.java b/java/client/src/main/java/org/apache/qpid/client/message/MessageFactoryRegistry.java index 948d6d0d7d..461fec73bc 100644 --- a/java/client/src/main/java/org/apache/qpid/client/message/MessageFactoryRegistry.java +++ b/java/client/src/main/java/org/apache/qpid/client/message/MessageFactoryRegistry.java @@ -125,12 +125,16 @@ public class MessageFactoryRegistry { MessageProperties mprop = transfer.getHeader().get(MessageProperties.class); - String messageType = mprop.getContentType(); - if (messageType == null) + String messageType = ""; + if ( mprop == null || mprop.getContentType() == null) { _logger.debug("no message type specified, building a byte message"); messageType = JMSBytesMessage.MIME_TYPE; } + else + { + messageType = mprop.getContentType(); + } MessageFactory mf = _mimeStringToFactoryMap.get(messageType); if (mf == null) { |