No, you should not use the Camel transport for CXF for your case
Basically, if you want to leverage the Camel's component to implement a
new transport for CXF , you can use this Camel Transport for CXF.
But for your case, you just need to route the SOAP request to different
service endpoints. You can use the jetty endpoint to listen for soap
request, and then route the request to different base on the namespace.
from(jetty://YourServiceAddress).choice(xxx)...
Willem
notsure wrote:
> Thank you for the timely response, I have the camel-cxf.jar in the classpath.
> I'm trying to set my routes and I get a looping issue. I would like to
> achieve the
> following:
>
> Service A receives a soap message and routes it to an outside service based
> on content
> of the soap (namespace most likely) it could go to several ports
> B (namespace B)
> C (namespace C)
> D (namespace D)
> E (namespace E)
>
> and the response is routed back to the service and forwarded to the original
> requestor.
> I'm currently using Camel Transport for CXF and route looks like
> <camel:destination
>
> name="{http://service.acme.train.com}ServiceSoapPort.http-destination">
> <camelContext id="context"
> xmlns="http://camel.apache.org/schema/spring">
> <route>
> <from uri="direct:ServiceSoapPort" />
> <pipeline>
> <choice>
> <when>
>
> <xpath>$axe='uri:AXE/ACTION=SOAPACTIONwsdl'
> </xpath>
> <inOut
> uri="http://localhost:9010/ACTION=SOAPACTION" />
> </when>
> <when>
> <xpath>$cl =
>
> 'uri:CLASSSERVER/ACTION=SOAPACTIONwsdl'</xpath>
> <inOut
> uri="http://localhost:9020/ACTION=SOAPACTION" />
> </when>
> <when>
> <xpath>$ua =
> 'uri:UASERVER/ACTION=SOAPACTIONwsdl'</xpath>
> <inOut
> uri="http://localhost:9030/ACTION=SOAPACTION" />
> </when>
> <when>
> <xpath>$vw =
> 'uri:VIEW/ACTION=SOAPACTIONwsdl'</xpath>
> <inOut
> uri="http://localhost:9080/ACTION=SOAPACTION" />
> </when>
> <otherwise>
> <inOut
> uri="http://localhost:9000/ACTION=SOAPACTION" />
> </otherwise>
> </choice>
> </pipeline>
> </route>
> </camelContext>
> </camel:destination>
>
>
>
> willem.jiang wrote:
>> Hi,
>>
>> Did you put the camel-cxf.jar into your class path?
>> BTW, Since we use the Spring customer namespace handler to deal with the
>> camel:destination please make sure the camel-cxf.jar's
>> META-INF/spring.handlers and META-INF/spring.schemas are loadable by
>> Spring.
>>
>> Willem
>>
>> notsure wrote:
>>> I have a jaxws endpoint which im trying to generate an http endpoint to
>>> transport soap messages to a secondary service(request/response). I'm
>>> using
>>> eclipse 3.4.2, cxf 2.1.4 and camel 2.0 m1. The secondary service has five
>>> endpoints so I've been trying to use pipeline with filter using xpath.
>>> However, when I add camel:destination to my applicationcontext
>>> eclipse/tomcat cannot find it.
>>>
>>> snippets
>>>
>>> xmlns:camel="http://cxf.apache.org/transports/camel"
>>>
>>> http://cxf.apache.org/transports/camel
>>> http://cxf.apache.org/transports/camel/camel.xsd"
>>>
>>> <camel:destination
>>> name="{http://localhost:8080}ServiceSoapPort.http-destination">
>>> <camelContext id="context"
>>> xmlns="http://camel.apache.org/schema/spring/">
>>> <route>
>>>
>> Any feedback would be greatly appreaciated.
>>
>> Thanks,
>> Terry
>>
>>> I know the url doesn't resolve and I've copied the xsd from the jar file,
>>> what can i do to resolve this?
>>>
>>
>>
>