Hi,

I've run into a similar problem before:

We were receiving MQ request messages (meant for InOut exchanges) even though 
we were disabling the replyTo and expected MQ datagram messages (InOnly). The 
incoming JMS headers had an IBM-specific header set to indicate the message 
type and we were not removing it so our output JMS messages were tagged as IBM 
"requests" but had no JMS ReplyTo set, which MQ did not like.  Make sure you 
are receiving the right type of message for the chosen Exchange Pattern or 
remove the IBM message type header.

Cheers,
Mathieu



> From: [email protected]
> Date: Mon, 22 Aug 2011 08:37:22 +0200
> Subject: Re: JMS Websphere MQ Error - MQJE001: Completion Code 2, Reason 2027
> To: [email protected]
> 
> Hi
> 
> I suggest to google a bit on the MQ error codes. There may be some
> links out there with some details how to resolve this.
> 
> 
> On Thu, Aug 18, 2011 at 11:38 PM, devram <[email protected]> wrote:
> > Hi, I'm new to camel and trying to replace an existing non-camel simply
> > message router which reads from one mq and then writes to another (both are
> > websphere mq) with camel. However when I test the updated camel process, I
> > get the following error: "MQJMS2007: failed to send message to MQ queue;
> > nested exception is com.ibm.mq.MQException: MQJE001: Completion Code 2,
> > Reason 2027" due to the ReplyTo on the queue message not being set.
> >
> > I have no control over the incoming messages and have already specified to
> > disable ReplyTo in my endpoint config.  All I'm trying to do is re-route the
> > message to another queue...
> >
> > I'm using Camel 2.8, JDK 1.6, & Spring 3.0.5.
> >
> > Here is my spring/camel context:
> >
> > <beans xmlns="http://www.springframework.org/schema/beans";
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> >       xmlns:camel="http://camel.apache.org/schema/spring";
> >       xsi:schemaLocation="
> >       http://www.springframework.org/schema/beans
> > http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
> >       http://camel.apache.org/schema/spring
> > http://camel.apache.org/schema/spring/camel-spring.xsd";>
> >
> >  <camel:camelContext id="globalCamelContext">
> >    <camel:propertyPlaceholder id="properties"
> > location="classpath:devProps.properties" />
> >
> >    <camel:endpoint id="jmsMQReceiverEndPoint"
> >
> > uri="jmsQueue:queue:${mq.receiver.queue}?testConnectionOnStartup=true&amp;disableReplyTo=true"
> > />
> >    <camel:endpoint id="jmsMQErrorEndPoint"
> >
> > uri="jmsQueue:queue:${mq.error.queue}?testConnectionOnStartup=true&amp;disableReplyTo=true"
> > />
> >
> >    <camel:route id="messageRoute">
> >      <camel:from ref="jmsMQReceiverEndPoint" />
> >      <camel:log message="process message: ${id} ${body}"
> > loggingLevel="INFO" />
> >      <camel:to ref="jmsMQErrorEndPoint" />
> >    </camel:route>
> >
> >  </camel:camelContext>
> >
> >
> >  <bean id="myConnectionFactory"
> > class="com.ibm.mq.jms.MQQueueConnectionFactory">
> >    <property name="hostName" value="${mq.hostname}" />
> >    <property name="port" value="${mq.port}" />
> >    <property name="queueManager" value="${mq.queueManager}" />
> >    <property name="channel" value="${mq.queueChannel}" />
> >    <property name="transportType" value="1" />
> >    <property name="securityExit" value="${mq.channelSecurityExit}" />
> >  </bean>
> >
> >  <bean id="jmsQueue" class="org.apache.camel.component.jms.JmsComponent">
> >    <property name="connectionFactory" ref="myConnectionFactory" />
> >  </bean>
> > </beans>
> >
> > Here is the exection I get:
> > Caused by: org.springframework.jms.UncategorizedJmsException: Uncategorized
> > exception occured during JMS processing; nested exception is
> > javax.jms.JMSException: MQJMS2007: failed to send message to MQ queue;
> > nested exception is com.ibm.mq.MQException: MQJE001: Completion Code 2,
> > Reason 2027
> >        at
> > org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:316)
> >        at
> > org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168)
> >        at 
> > org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:469)
> >        at
> > org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:172)
> >        at 
> > org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:347)
> >        at
> > org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:303)
> >        at 
> > org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:101)
> >        at
> > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
> >        at
> > org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:114)
> >        at
> > org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:286)
> >        at 
> > org.apache.camel.processor.SendProcessor.process(SendProcessor.java:109)
> >        at
> > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
> >        at
> > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
> >        at
> > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
> >        at
> > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)
> >        at
> > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
> >        at
> > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
> >        at
> > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
> >        at
> > org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)
> >        at
> > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
> >        at
> > org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:318)
> >        at
> > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:209)
> >        at
> > org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:305)
> >        at
> > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
> >        at org.apache.camel.processor.Pipeline.process(Pipeline.java:116)
> >        at org.apache.camel.processor.Pipeline.process(Pipeline.java:79)
> >        at
> > org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:102)
> >        at
> > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
> >        at
> > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
> >        at
> > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
> >        at
> > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)
> >        at
> > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:104)
> >        at
> > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:85)
> >        at
> > org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:91)
> >        ... 11 more
> > Caused by: javax.jms.JMSException: MQJMS2007: failed to send message to MQ
> > queue
> >        at
> > com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:595)
> >        at
> > com.ibm.mq.jms.MQMessageProducer.sendInternal(MQMessageProducer.java:1820)
> >        at com.ibm.mq.jms.MQMessageProducer.send(MQMessageProducer.java:1130)
> >        at com.ibm.mq.jms.MQMessageProducer.send(MQMessageProducer.java:1183)
> >        at 
> > org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:592)
> >        at
> > org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSend(JmsConfiguration.java:260)
> >        at
> > org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSendToDestination(JmsConfiguration.java:199)
> >        at
> > org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.access$100(JmsConfiguration.java:141)
> >        at
> > org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate$3.doInJms(JmsConfiguration.java:175)
> >        at 
> > org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:466)
> >        ... 42 more
> >
> > Any help would be great, thanks.
> >
> >
> > --
> > View this message in context: 
> > http://camel.465427.n5.nabble.com/JMS-Websphere-MQ-Error-MQJE001-Completion-Code-2-Reason-2027-tp4713509p4713509.html
> > Sent from the Camel - Users mailing list archive at Nabble.com.
> >
> 
> 
> 
> -- 
> Claus Ibsen
> -----------------
> FuseSource
> Email: [email protected]
> Web: http://fusesource.com
> Twitter: davsclaus, fusenews
> Blog: http://davsclaus.blogspot.com/
> Author of Camel in Action: http://www.manning.com/ibsen/
                                          

Reply via email to