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>
--
Christian Schneider
---
http://www.liquid-reality.de