I have the following route:
<camel:route>
<camel:from uri="cxf:bean:webservice1?dataFormat=PAYLOAD"/>
<camel:to uri="xslt:xslt/xslt1.xsl"/>
<camel:setHeader
headerName="operationName"><constant>op1</constant></camel:setHeader>
<camel:setHeader
headerName="operationNamespace"><constant>http://myns</constant></camel:setHeader>
<camel:to uri="xslt:xslt/SOAPWrapper.xsl"/>
<camel:to uri="cxf:bean:webservice2?dataFormat=MESSAGE"/>
<camel:to uri="xslt:xslt/xslt2.xsl"/>
<camel:setHeader
headerName="operationName"><constant>op2</constant></camel:setHeader>
<camel:setHeader
headerName="operationNamespace"><constant>http://myns2</constant></camel:setHeader>
<camel:to uri="cxf:bean:webservice3?dataFormat=PAYLOAD"/>
</camel:route>
The beans webservice1, 2, and 3 are all defined as cxfEndpoints; I am pretty
confident they are set up properly.
What emerges out of xslt2.xsl is a simple XML structure that conforms to the
WSDL/schema for webservice3.
Everything works fine until the end (I can put a log message right before
webservice3 is invoked, and see my message structure as it is supposed to be
after xslt2. But when the route gets to the very last step, I get this:
java.lang.ClassCastException: org.apache.camel.component.cxf.CxfPayload cannot
be cast to javax.xml.transform.Source
at
org.apache.cxf.databinding.source.XMLStreamDataWriter.write(XMLStreamDataWriter.java:83)[131:org.apache.cxf.bundle:2.3.4]
at
org.apache.cxf.databinding.source.XMLStreamDataWriter.write(XMLStreamDataWriter.java:50)[131:org.apache.cxf.bundle:2.3.4]
at
org.apache.cxf.databinding.source.XMLStreamDataWriter.write(XMLStreamDataWriter.java:46)[131:org.apache.cxf.bundle:2.3.4]
at
org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:119)[131:org.apache.cxf.bundle:2.3.4]
at
org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68)[131:org.apache.cxf.bundle:2.3.4]
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)[131:org.apache.cxf.bundle:2.3.4]
at
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:458)[131:org.apache.cxf.bundle:2.3.4]
at
org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:94)[133:org.apache.camel.camel-cxf:2.6.0]
...
Any ideas?
Thanks.
--Scott