camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Zhemzhitsky Sergey <Sergey_Zhemzhit...@troika.ru>
Subject Camel: SOAP over JMS
Date Tue, 26 Apr 2011 06:51:26 GMT
Hi there,

I'm trying to configure SOAP over JMS by means of camel, cfx, activemq and servicemix (apache-servicemix-4.3.1-fuse-01-09).

Here is documentation http://camel.apache.org/camel-transport-for-cxf.html I'm using.

My configuration file looks like this

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:cxf="http://camel.apache.org/schema/cxf"
    xmlns:jaxws="http://cxf.apache.org/jaxws"
    xmlns:soap="http://cxf.apache.org/bindings/soap"
    xmlns:echo="http://www.springframework.org/spring-ws/samples/echo"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd
        http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
    ">

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

    <bean class="org.apache.camel.component.cxf.transport.CamelTransportFactory">
        <property name="bus" ref="cxf" />
        <property name="camelContext" ref="camel" />
        <property name="transportIds">
            <list>
                <value>http://cxf.apache.org/transports/camel</value>
            </list>
        </property>
    </bean>

    <cxf:cxfEndpoint id="echoService" address="camel:activemq:queue:EchoRequest"
        endpointName="echo:EchoSoap11" serviceName="echo:EchoService" wsdlURL="echo.wsdl">
        <cxf:properties>
            <entry key="dataFormat" value="PAYLOAD" />
        </cxf:properties>
    </cxf:cxfEndpoint>

    <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
        <route>
            <from uri="file:c:/workspace/temp/cxf/req" />
            <inOut uri="activemq:queue:EchoRequest?jmsMessageType=Bytes&amp;replyTo=EchoReply&amp;useMessageIDAsCorrelationID=true"/>
            <to uri="log:org.testapp?level=INFO" />
            <to uri="file:c:/workspace/temp/cxf/resp"/>
        </route>
    </camelContext>

    <bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
        <property name="brokerURL" value="tcp://localhost:61616"/>
    </bean>

</beans>

From the configuration - I'm trying to invoke CXF services when sending messages to activemq.
Messages are SOAP payloads and look like this

<echo:echoRequest xmlns:echo="http://www.springframework.org/spring-ws/samples/echo">hello</echo:echoRequest>

I'm expecting the payload to become a SOAP envelope

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:echo="http://www.springframework.org/spring-ws/samples/echo">
   <soapenv:Header/>
   <soapenv:Body>
      <echo:echoRequest>hello</echo:echoRequest>
   </soapenv:Body>
</soapenv:Envelope>

But it does not happen and there is only payload in the queue and it seems that CXF is not
attached to the acvivemq endpoint.

So the question is how to configure cxf+camel+activemq in the apache-servicemix-4.3.1-fuse-01-09
to create a fully functional SOAP envelope when sending only a payload into the queue?


Best Regards,
Sergey Zhemzhitsky


_______________________________________________________

The information contained in this message may be privileged and conf idential and protected
from disclosure. If you are not the original intended recipient, you are hereby notified that
any review, retransmission, dissemination, or other use of, or taking of any action in reliance
upon, this information is prohibited. If you have received this communication in error, please
notify the sender immediately by replying to this message and delete it from your computer.
Thank you for your cooperation. Troika Dialog, Russia. 
If you need assistance please contact our Contact Center  (+7495) 258 0500 or go to www.troika.ru/eng/Contacts/system.wbp
 


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message