Hi Christian,

Only requirement on the address is that it should start with "jms://" rest of the stuff is all ignored currently. All the required stuff is pulled out from jms:address wsdl Extensor which can be configured via configuration the way you did.

once you set the address starting with jms:// CXF runtime will find the appropriate transport factor in this case JMSTransportFactory and will inject the Spring config that your xml configuration file.

Regards,

Ulhas Bhole

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>


----------------------------
IONA Technologies PLC (registered in Ireland)
Registered Number: 171387
Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland

Reply via email to