Hi,
If you want to use the SOAP over JMS, you don't need to use the camel
transport for CXF.
Did you have a chance to try to create pure CXF with SOAP over JMS?
Willem
On 4/26/11 2:51 PM, Zhemzhitsky Sergey wrote:
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&replyTo=EchoReply&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
--
Willem
----------------------------------
FuseSource
Web: http://www.fusesource.com
Blog: http://willemjiang.blogspot.com (English)
http://jnn.javaeye.com (Chinese)
Twitter: willemjiang
Connect at CamelOne May 24-26
The Open Source Integration Conference
http://camelone.com