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.

Reply via email to