summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessageFactory.java14
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/message/MessageFactoryRegistry.java8
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)
{