There is really nothing in your configs (that I can tell) to tell CXF to use 
JMS transport.   You likely need to update the second jaxws:endpoint to add 
a transportId attribute specifying the JMS transport 
("http://cxf.apache.org/transports/jms";) as well as change the "address" on 
it to something like "jms://" to force it into JMS.

Dan


On Tuesday, April 24, 2012 03:26:13 AM imiten wrote:
> Hi,
> 
> I have existing web service (SEI and not provider) working fine for soap
> over http.  Here is the request printed in server log.
> 
> <?xml version="1.0" ?>
> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/";>
> <S:Body>
> <ns2:save_product xmlns:ns2="http://webservice.mkyong.com/";>
>   <product>
>     <productCode>Laptop</productCode>
>     <productDesc>Laptop Computer</productDesc>
>   </product>
>   <qoh>10</qoh>
> </ns2:save_product></S:Body></S:Envelope>
> 
> I want to have the same webservice/webmethod be invoked when I post above
> message to activemq queue.
> To enable that I added following to cxf-servlet.xml (I deploy war to
> tomcat).
> <?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:jaxws="http://cxf.apache.org/jaxws";
>       xmlns:soap="http://cxf.apache.org/bindings/soap";
> <b>   xmlns:jms="http://cxf.apache.org/transports/jms";
>       xmlns:ct="http://cxf.apache.org/configuration/types";
> *     xsi:schemaLocation="http://www.springframework.org/schema/beans
>       http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
>       http://cxf.apache.org/bindings/soap
>       http://cxf.apache.org/schemas/configuration/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-extension-policy.xml"/>
>       <jaxws:endpoint xmlns:tns="http://webservice.mkyong.com/";
>               id="productwebservice" implementor="#myProductWebService"
>               wsdlLocation="wsdl/ProductWebService.wsdl"
> endpointName="tns:ProductWebServicePort"
>               serviceName="tns:ProductWebServiceService"
> address="/ProductWebServicePort">
>               <jaxws:features>
>                       <bean class="org.apache.cxf.feature.LoggingFeature" />
>               </jaxws:features>
>       </jaxws:endpoint>
>       <jaxws:endpoint xmlns:tns="http://webservice.mkyong.com/";
>               id="productwebservice_javafirst"
>               implementor="#myProductWebServiceJavaFirst"
>               address="/IProductWebServicePort">
>               <jaxws:features>
>                       <bean class="org.apache.cxf.feature.LoggingFeature" />
>               </jaxws:features>
>       </jaxws:endpoint>
>       <import resource="classpath:spring/config/BeanLocations.xml" />
>       <bean id="myProductWebService"
> class="com.mkyong.webservice.ProductWebService">
>               <property name="productBo" ref="productBoProxy"></property>
>       </bean>
>       <bean id="myProductWebServiceJavaFirst"
> class="com.mkyong.webservice.ProductWebServiceImpl">
>               <property name="productBo" ref="productBoProxy"></property>
>       </bean>
> 
>   *  <jms:destination
> name="{http://webservice.mkyong.com}ProductWebServicePort.jms-destination";
> > <jms:address destinationStyle="queue"
>                jndiConnectionFactoryName="ConnectionFactory"
>                jndiDestinationName="miten.test.request.queue"
>                jndiReplyDestinationName="miten.test.reply.queue"
>                connectionUserName=""
>                connectionPassword="">
>           <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:destination>*
> 
> </beans>
> 
> 
> I do not see any messages in tomcat log which gives me any indication of
> jms setup nor does activemq webconsole show any subscribers.  Even after
> posting the message to queue there is no effect or action of webservice
> being invoked.
> 
> I followed the information on 
> http://cxf.apache.org/docs/jms-transport.html website
> 
> I have added following jms related dependency to pom.
>         <dependency>
>               <groupId>org.apache.activemq</groupId>
>               *<artifactId>activemq-core</artifactId>*
>               <version>${cxf.amq.version}</version>
>       </dependency>
>         <dependency>
>             <groupId>org.apache.cxf</groupId>
>             *<artifactId>cxf-rt-transports-jms</artifactId>*
>             <version>${cxf.version}</version>
>          </dependency>
> 
> 
> I do not see any errors for jms while loading in tomcat in fact I do not
> see any logs related to jms in tomcat.
> 
> Regards,
> 
> Miten.
> 
> --
> View this message in context:
> http://cxf.547215.n5.nabble.com/cxf-2-5-2-webservice-jms-activemq-5-1-0-i
> ntegration-tp5661590p5661590.html Sent from the cxf-user mailing list
> archive at Nabble.com.
-- 
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com

Reply via email to