From cfa39e12ce4da0036faffb6f3f397bffb2b9e4cd Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Fri, 27 Sep 2013 12:13:53 +0000 Subject: QPID-5182 : The details of custom error-conditions are not being preserved up to the Error object git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1526864 13f79535-47bb-0310-9956-ffa450edef68 --- .../amqp_1_0/jms/impl/MessageProducerImpl.java | 9 +++- .../type/transport/codec/ErrorConstructor.java | 52 ++++++++++++++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) diff --git a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageProducerImpl.java b/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageProducerImpl.java index 5502f88d75..ada100f0a6 100644 --- a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageProducerImpl.java +++ b/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageProducerImpl.java @@ -306,7 +306,14 @@ public class MessageProducerImpl implements MessageProducer, QueueSender, TopicP if (action.getOutcome() instanceof Rejected) { Error err = ((Rejected) action.getOutcome()).getError(); - throw new MessageRejectedException(err.getDescription(), err.getCondition().toString()); + if(err != null) + { + throw new MessageRejectedException(err.getDescription(), err.getCondition().toString()); + } + else + { + throw new MessageRejectedException("Message was rejected: " + action.getOutcome()); + } } else { diff --git a/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/type/transport/codec/ErrorConstructor.java b/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/type/transport/codec/ErrorConstructor.java index 6d745adb7e..510170ae1f 100644 --- a/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/type/transport/codec/ErrorConstructor.java +++ b/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/type/transport/codec/ErrorConstructor.java @@ -86,6 +86,10 @@ public class ErrorConstructor extends DescribedTypeConstructor