Here is the diff of the schema change to specify the jmsDestinationName and jmsReplyDestinationName.
Example jms:address looks like this:
<jms:address jndiconnectionfactoryname="ConnectionFactory"
jmsdestinationname="dynamicQueues/routertest.SOAPService6Q.text"
jmsreplydestinationname="dynamicQueues/SoapService6.reply.queue">
<jms:jmsnamingproperty name="java.naming.factory.initial"
value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
<jms:jmsnamingproperty name="java.naming.provider.url"
value="tcp://localhost:61500"/>
</jms:address>
This will allow CXF consumer and services to use the real queue names (where JMS provider will allow the creation of the queues) as opposed to use jndi lookup.
4 comments:
That is a step in the right direction. Would it be possible to make CXFs JMS Tranport a little more like in camel? For example you simply configure a ConnectionFactory as a spring bean and reference it in the JMS transport. Currently we use CXF based on JMS in my company. But as configuring JMS in CXF is not very easy and clear we use the Camel tranport and then setup the JMS routing in camel. It is not ideal that we have to include another project in our runtime but the configuration using cxf and camel together looks much cleaner. I will post an example of this shortly on the Camel and CXF Wiki.
Hi Christian,
You are right on point. Next thing on the plan based on the time is to allow CXF JMS transport to use Spring JMS and implement SPECJMS support.
Mazya,
Just wanted to know if it is possible
to create a client to send SOAP request to output queue and receive message from input queue using CXF?
Thanks,
Shan
Hi Shan,
You can use any client to send soap request in JMS message. CXF doesn't mandate that you should use CXF client to send SOAP request. As long as SOAP request is valid CXF Server will process it and if you specify replyto queue it will send the reply onto replyto queue.
Post a Comment