-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hi,

When testing the JMS transport with a QPid broker, I found this problem.
When I use the JMS transport in Axis2 (1.4), if a destination isn't given as the paramater "transport.jms.Destination" in the services.xml, it would create a Queue by the service name and work correctly. When this parameter is avaialable also the Axis2 JMS transport works without errors.

But when I switched to the JMS transport from the synapse-transports-<verison>.jar, if the above named parameter isn't included in the service descriptor, the JMSListener fails saying
[ERROR] The service cannot be found for the endpoint reference (EPR)
org.apache.axis2.AxisFault: The service cannot be found for the endpoint reference (EPR) ~ at org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:64)
~        at org.apache.axis2.engine.Phase.invoke(Phase.java:333)
~        at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:264)
~        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:163)
~ at org.apache.synapse.transport.base.AbstractTransportListener.handleIncomingMessage(AbstractTransportListener.java:256) ~ at org.apache.synapse.transport.jms.JMSMessageReceiver$Worker.run(JMSMessageReceiver.java:218) ~ at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) ~ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
~        at java.lang.Thread.run(Thread.java:595)

And as soon as I add the "transport.jms.Destination" param to the services.xml, the the synapse JMSListener would also work.

Shouldn't the transport be able to work with the auto created Queue without needing the parameter explicitly? I tested this scenario with both synapse-transports-1.1.1.jar and synapse-transports-1.2-beta1.jar with similar results.
Please let me know if I might be doing something incorrectly.

The services.xml is
- --------------------
<service name="QpidStockQuoteService" scope="application" targetNamespace="http://axis2qpid.wso2.org";>
~    <description>
~        Stock Quote Service Over AMQP
~    </description>
~    <messageReceivers>
~        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only";
~ class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
~        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out";
~ class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
~    </messageReceivers>
~ <parameter name="ServiceClass">org.wso2.example.axis2qpid.service.QpidStockQuoteService</parameter>
~    <parameter name="transport.jms.Destination">directQueue</parameter>
</service>
- -------------------------------

directQueue refers to a destination  binding in a jndi properties file.
- --------------------------------
#initial context factory
#java.naming.factory.initial =org.apache.qpid.jndi.PropertiesFileInitialContextFactory
# register some connection factories
# connectionfactory.[jndiname] = [ConnectionURL]
connectionfactory.qpidConnectionfactory=amqp://guest:[EMAIL 
PROTECTED]/test?brokerlist='tcp://localhost:5672'
# Register an AMQP destination in JNDI
# destination.[jndiName] = [BindingURL]
destination.directQueue=direct://amq.direct//QpidStockQuoteService
- -----------------------------------

Thanks.
Suran


- --
U. Suran Jayathilaka
WSO2, Inc. - http://www.wso2.com

http://suranjay.blogspot.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIRkG2Xkt94l6LfXURAhEDAJ49i4qZNupb0sUbZwXYAmJzJSSeYgCgg1qu
EP+J3NcsTP3HFa4lcl6UQo4=
=BEQz
-----END PGP SIGNATURE-----


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to