-----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]