jms - "Channel not defined remotely" issue when connecting from camel to a WebSphere MQ server -
i have configured 2 servers side, 1 active mq , 1 websphere mq 8.0, in order communicate each other i've configured apache camel in middle, receives messages active mq , send them websphere. right camel able receive messages active mq server, when tries send them websphere mq throws error:
caused by: com.ibm.mq.jmqi.jmqiexception: cc=2;rc=2540;amq9204: connection host '10.0.0.122(1414)' rejected. [1=com.ibm.mq.jmqi.jmqiexception[cc=2;rc=2540;amq9520: channel not defined remotely. [3=channel.test]],3=10.0.0.122(1414),5=remoteconnection.analyseerrorsegment]
i able connect camel websphere queuemanager user, not the channel created, configuration camel side in order connect websphere server is:
<bean id="weblogicconnectionfactory" class="com.ibm.mq.jms.mqconnectionfactory"> <property name="hostname" value="10.0.0.122"/> <property name="port" value="1414"/> <property name="queuemanager" value="testq"/> <property name="channel" value="channel.test"/> <property name="transporttype" value="1"/> </bean> <bean id="myproxyconnectionfactory" class="org.springframework.jms.connection.usercredentialsconnectionfactoryadapter"> <property name="targetconnectionfactory" ref="weblogicconnectionfactory"/> <property name="username" value="administrator"/> <property name="password" value="control123!"/> </bean> <bean id="weblogicconfig" class="org.apache.camel.component.jms.jmsconfiguration"> <property name="connectionfactory" ref="weblogicconnectionfactory"/> <property name="concurrentconsumers" value="10"/> </bean> <bean id="weblogic" class="org.apache.camel.component.jms.jmscomponent"> <property name="configuration" ref="weblogicconfig"/> </bean>
and way i've created server-connection channel going websphere mq explorer, select queue manager, create new server-connection channel, set appropiate username in mca user field.
as suggestion of @shashi in answer below i've run command dis channel() following output:
1 : dis channel('channel.test') amq8414: display channel details. channel(channel.test) chltype(svrconn) altdate(2015-07-22) alttime(00.16.25) comphdr(none) compmsg(none) descr( ) discint(0) hbint(300) kaint(auto) maxinst(999999999) maxinstc(999999999) maxmsgl(4194304) mcauser(mqm) monchl(qmgr) rcvdata( ) rcvexit( ) scydata( ) scyexit( ) senddata( ) sendexit( ) sharecnv(10) sslcauth(required) sslciph( ) sslpeer( ) trptype(tcp)
any helpfull
thanks in advance
mqrc 2540 means queue manager did not recognize channel name provided client.
in mq object names case sensitive. ensure channel name have provided in camel configuration matches 1 created in mq explorer.
Comments
Post a Comment