AFAIK, that is what you need to do.
Setting the factory's address to be the String which start with "jms://" will be OK.

BTW, you do not need to include the below files in your spring.configuration
   <import resource="classpath:META-INF/cxf/cxf-extension-local.xml" />
  <import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />
  <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

And the most important thing is that you need to let this Spring configuration file be load by CXF bus. You can name it as the cxf.xml and put it into the class path, or use the SpringBusFactory to load it.

Willem.

Christian Schneider wrote:
I have found some clues to the necessary configuration. You need to configure a jms:conduit. And of course your JaxWsProxyFactoryBean. But what I did not yet find out is how to connect the two. What I know is that your setAddress Parameter in the factory has to start with jms://.

Has anyone an idea how to go on from there?

Best regards,

Christian

mule1 schrieb:
Hello,

I wanted to configure cxf jms in xml with my java first service
implementation. Can you provide me the sample cxf jms configuration?
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
       factory.getInInterceptors().add(new LoggingInInterceptor());
       factory.getOutInterceptors().add(new LoggingInInterceptor());
       factory.setServiceClass(IHello.class);
factory.setAddress("jms://{http://service.test/}IHelloService.jms-conduit";); // This dows not seem correct... what is the right address for jms?
       //factory.setAddress("http://localhost:9000/Hello";);
       IHello client = (IHello) factory.create();
String reply = client.sayHi("HI");


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans";
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
   xmlns:cxf="http://cxf.apache.org/core";
   xmlns:soap="http://cxf.apache.org/bindings/soap";
   xmlns:jaxws="http://cxf.apache.org/jaxws";
   xmlns:jms="http://cxf.apache.org/transports/jms";
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
   http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
http://cxf.apache.org/bindings/soap http://cxf.apache.org/schema/bindings/soap.xsd
   http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/transports/jms http://cxf.apache.org/schemas/configuration/jms.xsd
   ">

   <import resource="classpath:META-INF/cxf/cxf.xml" />
   <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
   <import resource="classpath:META-INF/cxf/cxf-extension-local.xml" />
   <import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />
   <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
   <import resource="classpath:META-INF/cxf/cxf-extension-jms.xml" />

   <jms:conduit
       name="{http://service.test/}IHelloService.jms-conduit";>
       <jms:clientConfig clientReceiveTimeout="500"
           messageTimeToLive="500" />
       <jms:runtimePolicy messageType="binary" />
       <jms:sessionPool lowWaterMark="10" highWaterMark="5000" />
       <jms:address destinationStyle="queue"
           jndiConnectionFactoryName="MockConnectionFactory"
           jndiDestinationName="myOwnDestination"
           jndiReplyDestinationName="myOwnReplyDestination"
connectionUserName="testUser" connectionPassword="testPassword">
           <jms:JMSNamingProperty name="java.naming.factory.initial"
value="org.apache.activemq.jndi.ActiveMQInitialContextFactory" />
           <jms:JMSNamingProperty name="java.naming.provider.url"
               value="tcp://localhost:61616" />
       </jms:address>
   </jms:conduit>

</beans>

Reply via email to