Hi, I want - expose a CXF endpoint "from" via a CXF servlet ==> OK, it works - apply a XSLT transformation on the SOAP envelope of a multipart SOAP message retreived via the CXF servlet ==> KO - resend the modified SOAP message via a Web service client
so , I built a route like this : <cxf:cxfEndpoint id="soapMessageEndpointProvider" serviceClass="....MyCxfProvider" address="..." wsdlURL="..." endpointName="s:..." serviceName="s:..." xmlns:s="..."/> <cxf:cxfEndpoint id="soapMessageEndpointProducer" serviceClass="????" address="http://localhost:9000/MyFinalServiceProvider/SOAPMessageService" wsdlURL="..." endpointName="s:..." serviceName="s:..." xmlns:s="..."/> <camelContext id="camel-context" trace="true" xmlns="http://activemq.apache.org/camel/schema/spring"> <route> <from uri="cxf:bean:soapMessageEndpointProvider"/> <to uri="xslt:file:///c:/mySheet.xsl"/> <to ref="cxf:bean:soapMessageEndpointProducer" /> <route> </camelContext> I successfully retreive my message as an instance of SOAPMessage object But I have 2 issues: 1: When I add the xslt processor above, I have an error: "org.apache.camel.NoTypeConversionAvailableException : No type converter available to convert from type: class org.apache.camel.component.cxf.CxfMessage to the required type: javax.xml.transform.Source ...." So I tried to implement my own XSLT processor. I get the SOAP envelope / SOAP PAYLOAD with: SOAPMessage soapMessage = (SOAPMessage)inMessage.getBody(List.class).get(0); SOAPPart sp = soapMessage.getSOAPPart(); SOAPEnvelope se = sp.getEnvelope(); SOAPBody sb = se.getBody(); And I would like to do : XSLT SOAPEnvelope ==> envelope(XML) ======> transformed envelope(XML) ==> SOAP envelope In that case, my problems are : - how to retreive the XML of my SOAPEnvelope (My soap message is a multipart message so I cannot apply the XSLT transformation on the whole http request) - how to re transform my envelop XML in a SOAPEnvelope to continue the processing as if the XSLT transforamtion did never occur I know it is probably at the frontier between CAMEL, CXF, JAX-WS and Jaxb but if you have an idea, it would be very helpfull for me. 2/ my second proble is about the WS endpoint producer With WS consumer Endpoint, it is possible to avoid the use with classes generated by wsdl2java In that case, we use a fake Web Service Provider class (like described in http://activemq.apache.org/camel/cxf-example.html) For Producer Endpoints (WS client), in mode MESSAGE, is it possible to do the same thing. Iwant to say, is it possible to avoid to add in the classpath the classes generated by wsdl2java). Thanks. Guillaume -- View this message in context: http://www.nabble.com/Apply-XSLT-transforrmation-after-a-CXF-Enpoint-fails-tp21216444s22882p21216444.html Sent from the Camel - Users mailing list archive at Nabble.com.