This is probably because https://issues.apache.org/jira/browse/WSCOMMONS-567 .
You can try using the http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/axis2/axis2-transport-jms/1.1.0-wso2v6/axis2-transport-jms-1.1.0-wso2v6.jarand see if that helps. Rajika On Tue, Aug 14, 2012 at 2:28 PM, Wright, Peter <[email protected]>wrote: > Hi Rajika, > > I tried setting transport.jms.DurableSubscriberClientID both ways: > - "true" (as described here: > http://wso2.org/project/esb/java/4.0.3/docs/transports/transports-catalog.html > ) > - with a name e.g. "myClientID" (as I expected it to be defined) > > Unfortunately I always get the same exception: > "The client ID cannot be null. Specify a non-null client ID." > > Any other ideas? > Has anyone got a durable subscriber in synapse up and running with IBM MQ? > > Thanks for the help, > Peter > > -----Original Message----- > From: Rajika Kumarasiri [mailto:[email protected]] > Sent: Dienstag, 14. August 2012 10:32 > To: [email protected] > Subject: Re: Synapse: JMS Listener with durable subscription: how to > define client ID? > > You need to set it via the > property, transport.jms.DurableSubscriberClientID and not set it to true. > Also this can be a proxy service level parameter so that you can define > different client ids for different proxy services. > > Hope this helps. > > Rajika > > On Tue, Aug 14, 2012 at 12:01 PM, Wright, Peter > <[email protected]>wrote: > > > Hi, > > > > I want to define a JMS listener as a durable subscription, > > but always get an error message that the client-id is null. > > I'm using IBM MQ as the messaging provider. > > > > I've attached the error messages and my axis2 JMS config. > > > > Running synapse 2.1.0 on solaris 10. > > > > Thanks for any help, > > Peter > > > > -------------------------------------------- > > > > Error Messages > > > > 2012-08-14T08:16:33,INFO ,mdzhsfesb01,MSGMED,SynapseServer.java:70,Apache > > Synapse started successfully > > > 2012-08-14T08:16:34,ERROR,mdzhsfesb01,MSGMED,ServiceTaskManager.java:965,Error > > creating JMS consumer for service : JMS_XML_Proxy > > com.ibm.msg.client.jms.DetailedInvalidClientIDException: JMSCC0101: The > > client ID cannot be null. Specify a non-null client ID. > > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > > Method) > > at > > > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > > at > > > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > > at > java.lang.reflect.Constructor.newInstance(Constructor.java:513) > > at > > > com.ibm.msg.client.commonservices.j2se.NLSServices.createException(NLSServices.java:313) > > at > > > com.ibm.msg.client.commonservices.nls.NLSServices.createException(NLSServices.java:388) > > at > > > com.ibm.msg.client.jms.internal.JmsErrorUtils.createException(JmsErrorUtils.java:104) > > at > > > com.ibm.msg.client.jms.internal.JmsSessionImpl.createDurableSubscriber(JmsSessionImpl.java:964) > > at > > com.ibm.mq.jms.MQSession.createDurableSubscriber(MQSession.java:467) > > at > > org.apache.axis2.transport.jms.JMSUtils.createConsumer(JMSUtils.java:632) > > at > > > org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.createConsumer(ServiceTaskManager.java:839) > > at > > > org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.getMessageConsumer(ServiceTaskManager.java:710) > > at > > > org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.receiveMessage(ServiceTaskManager.java:478) > > at > > > org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.run(ServiceTaskManager.java:409) > > at > > > org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:58) > > at > > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > > at > > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > > at java.lang.Thread.run(Thread.java:662) > > > > -------------------------------------------- > > > > axis2.xml > > > > <transportReceiver name="jms" > > class="org.apache.axis2.transport.jms.JMSListener"> > > <parameter name="java.naming.factory.initial" > > locked="false">com.sun.jndi.ldap.LdapCtxFactory</parameter> > > <parameter name="java.naming.provider.url" > > locked="false">ldap://server:port/myDn</parameter> > > <parameter name="transport.jms.ConnectionFactoryType" > > locked="false">topic</parameter> > > <parameter name="transport.jms.ConnectionFactoryJNDIName" > > locked="false">cn=TCF-FINESB-POS-SED1.EU.DEV.01</parameter> > > <parameter name="transport.jms.ConnectionFactory" > > locked="false">cn=TCF-FINESB-POS-SED1.EU.DEV.01</parameter> > > <parameter name="transport.jms.Destination" > > locked="false">cn=sed.finesb.pos.fkism.cust</parameter> > > <parameter name="transport.jms.DestinationType" > > locked="false">topic</parameter> > > <parameter name="java.naming.security.principal" > > locked="false">myLoginDn</parameter> > > <parameter name="java.naming.security.credentials" > > locked="false">myPassword</parameter> > > <parameter name="transport.jms.SubscriptionDurable" > > locked="false">true</parameter> > > <parameter name="transport.jms.DurableSubscriberName" > > locked="false">msgmed.DEV1</parameter> > > <parameter name="transport.jms.DurableSubscriberClientID" > > locked="false">true</parameter> > > </transportReceiver> > > > > > > The content of this e-mail is intended only for the confidential use of > > the person addressed. > > If you are not the intended recipient, please notify the sender and > delete > > this email immediately. > > Thank you. > > > The content of this e-mail is intended only for the confidential use of > the person addressed. > If you are not the intended recipient, please notify the sender and delete > this email immediately. > Thank you. >
