Willem, I was thinking to start with a simple hardcoded string message first because I have a so simple webservice that receive a string and return the same string.
If this is ok, I will work with real xml instances... I found a aproach to do it and if someone have a remark, please help me!!! My inspiration was https://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-cxf/ Sorry for the length of the post and much comments, but I am put the solution in this way because was so hard to me find and understand a solution to create a cxf provider and it can help someone in the future. I would like to ask: 1) I am not shure if I still need xslt? Maybe in another moment. 2) Could I return javascript to the browser? *BELOW IS THE ROUTE* <?xml version="1.0" encoding="UTF-8"?> <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" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd"> <cxf:cxfEndpoint id="echoEndpoint" serviceClass="org.apache.camel.example.cxf.provider.GreeterProvider" address="http://localhost:8282/ode/processes/ProcessoSincrono" wsdlURL="wsdl/ProcessoSincronoArtifacts.wsdl" endpointName="s:ProcessoSincronoPort" serviceName="s:ProcessoSincronoService" xmlns:s="br.edu.fzlbpms.teste"/> <camelContext xmlns="http://camel.apache.org/schema/spring"> <route id="FZLBPMS_CAMEL_ROUTE___OrbeonService"> <from uri="jetty:http://localhost:18181/orbeonservice/pega_dados_do_formulario?sessionSupport=true"/> <to uri="Handle_App_e_FormTitle_camming_from_orbeonformPROCESSOR"/> <setHeader headerName="CamelHttpUri"> <simple>http://localhost:8282/exist/rest/db/orbeon/fr/${header.fzlbpms_orbeon_app}/${header.fzlbpms_orbeon_form}/data/${header.fzlbpms_orbeon_dataId}/data.xml</simple> </setHeader> <log message="----------------------------------"/> <log message="before inOut..."/> <log message="### body = ${body}"/> <log message="###"/> <log message="###"/> <log message="###"/> <inOut uri="http://doesnt.matter.we/override/it/anyways" /> <log message="----------------------------------"/> <log message="before SOAPMessageProducerPROCESSOR..."/> <log message="### body = ${body}"/> <log message="###"/> <log message="###"/> <log message="###"/> <to uri="SOAPMessageProducerPROCESSOR"/> <log message="----------------------------------"/> <log message="before SOAPMessageProducerPROCESSOR..."/> <log message="### body = ${body}"/> <log message="###"/> <log message="###"/> <log message="###"/> <to uri="cxf:bean:echoEndpoint" /> <log message="----------------------------------"/> <log message="before SOAPMessageConsumerPROCESSOR..."/> <log message="### body = ${body}"/> <log message="###"/> <log message="###"/> <log message="###"/> <to uri="SOAPMessageConsumerPROCESSOR"/> <log message="----------------------------------"/> <log message="before SOAPMessageConsumerPROCESSOR..."/> <log message="### body = ${body}"/> <log message="###"/> <log message="###"/> <log message="###"/> <inOut uri="http://doesnt.matter.we/override/it/anyways" /> </route> </camelContext> <bean id="SOAPMessageConsumerPROCESSOR" class="br.edu.fzlbpms.service.orbeon.SOAPMessageConsumerPROCESSOR" /> <bean id="SOAPMessageProducerPROCESSOR" class="br.edu.fzlbpms.service.orbeon.SOAPMessageProducerPROCESSOR" /> <bean id="Handle_App_e_FormTitle_camming_from_orbeonformPROCESSOR" class="br.edu.fzlbpms.service.orbeon.Pega_dados_do_formularioPROCESSOR" /> </beans> public class SOAPMessageConsumerPROCESSOR implements Processor { /** * just prepare to show response in the browser */ public void process(Exchange exchange) throws Exception { //SOAPMessage processSOAP = processSOAP(exchange); String soapMessageBodyContentAsString = SOAPMessageBodyContentAsString(exchange); exchange.getIn().setBody(soapMessageBodyContentAsString); } public String SOAPMessageBodyContentAsString(Exchange exchange){ SOAPMessage soapMessage = (SOAPMessage)exchange.getIn().getBody(List.class).get(0); if (soapMessage == null) { return "soapMessage was null in the body of the Exchange"; } try { SOAPPart sp = soapMessage.getSOAPPart(); SOAPEnvelope se = sp.getEnvelope(); SOAPBody sb = se.getBody(); String requestText = sb.getFirstChild().getTextContent(); return requestText; } catch (Exception e) { e.printStackTrace(); return "Error in consume soapMessage "+e.getMessage(); } } // public SOAPMessage processSOAP(Exchange exchange) { // // // Since the Camel-CXF endpoint uses a list to store the parameters // // and bean component uses the bodyAs expression to get the value // // we'll need to deal with the parameters ourself // // I DO NOT KNOW IF IT IS TRUE CONSIDERING WHAT WEBSERVICE WHAT I AM ACCESSING // // BECAUSE IT IS A AXIS2 WEBSERVICE AUTOMATIC CREATED FROM ODE // //FOR NOW I WILL JUST IGNORE IT FOR A WILE AND JUST RETURN STRING // // SOAPMessage soapMessage = (SOAPMessage)exchange.getIn().getBody(List.class).get(0); // if (soapMessage == null) { // System.out.println("Incoming null message detected..."); // return createDefaultSoapMessage("Greetings from Apache Camel!!!!", "null"); // } // // try { // SOAPPart sp = soapMessage.getSOAPPart(); // SOAPEnvelope se = sp.getEnvelope(); // SOAPBody sb = se.getBody(); // String requestText = sb.getFirstChild().getTextContent(); // System.out.println(requestText); // return createDefaultSoapMessage("Greetings from Apache Camel!!!!", requestText); // } catch (Exception e) { // e.printStackTrace(); // return createDefaultSoapMessage("Greetings from Apache Camel!!!!", e.getClass().getName()); // } // } } package br.edu.fzlbpms.service.orbeon; import java.util.List; import javax.xml.namespace.QName; import javax.xml.soap.MessageFactory; import javax.xml.soap.SOAPBody; import javax.xml.soap.SOAPBodyElement; import javax.xml.soap.SOAPElement; import javax.xml.soap.SOAPEnvelope; import javax.xml.soap.SOAPException; import javax.xml.soap.SOAPMessage; import javax.xml.soap.SOAPPart; import org.apache.camel.Exchange; import org.apache.camel.Processor; public class SOAPMessageProducerPROCESSOR implements Processor { public void process(Exchange exchange) throws Exception { exchange.getIn().setBody(createSimpleHardCodedSoapMessage()); } public SOAPMessage createSimpleHardCodedSoapMessage() { try { SOAPMessage soapMessage = MessageFactory.newInstance().createMessage(); SOAPBody body = soapMessage.getSOAPPart().getEnvelope().getBody(); // QName payloadName = new QName( // "http://apache.org/hello_world_soap_http/types", (tager namespace of xsd) // "greetMeResponse", "ns1"); QName payloadName = new QName( "br.edu.fzlbpms.teste", "ProcessoSincronoRequest", "br"); SOAPBodyElement payload = body.addBodyElement(payloadName); SOAPElement message = payload.addChildElement("input"); message.addTextNode("string_to_echo"); return soapMessage; } catch (SOAPException e) { e.printStackTrace(); throw new RuntimeException(e); } } } *THIS IS THE SERVICEMIX LOG* 17:33:11,783 | INFO | qtp8427326-1908 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ---------------------------------- 17:33:11,783 | INFO | qtp8427326-1908 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | before inOut... 17:33:11,783 | INFO | qtp8427326-1908 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ### body = 17:33:11,783 | INFO | qtp8427326-1908 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ### 17:33:11,783 | INFO | qtp8427326-1908 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ### 17:33:11,783 | INFO | qtp8427326-1908 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ### 17:33:11,787 | INFO | qtp8427326-1908 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ---------------------------------- 17:33:11,787 | INFO | qtp8427326-1908 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | before SOAPMessageProducerPROCESSOR... 17:33:11,787 | INFO | qtp8427326-1908 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ### body =* <form xmlns:xxi="http://orbeon.org/oxf/xml/xinclude" xmlns:xh="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:saxon="http://saxon.sf.net/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fb="http://orbeon.org/oxf/xml/form-builder" xmlns:xbl="http://www.w3.org/ns/xbl" xmlns:xxf="http://orbeon.org/oxf/xml/xforms" xmlns:version="java:org.orbeon.oxf.common.Version" xmlns:sql="http://orbeon.org/oxf/xml/sql" xmlns:p="http://www.orbeon.com/oxf/pipeline" xmlns:fr="http://orbeon.org/oxf/xml/form-runner" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xf="http://www.w3.org/2002/xforms" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:exf="http://www.exforms.org/exf/1-0"> <section-1> <control-1>ihihihihih</control-1> <control-3>ihihihihih</control-3> </section-1> </form>* 17:33:11,787 | INFO | qtp8427326-1908 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ### 17:33:11,787 | INFO | qtp8427326-1908 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ### 17:33:11,787 | INFO | qtp8427326-1908 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ### 17:33:11,788 | INFO | qtp8427326-1908 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ---------------------------------- 17:33:11,788 | INFO | qtp8427326-1908 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | before SOAPMessageProducerPROCESSOR... 17:33:11,788 | INFO | qtp8427326-1908 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ### body = *<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><SOAP-ENV:Body><br:ProcessoSincronoRequest xmlns:br="br.edu.fzlbpms.teste"><input>string_to_echo</input></br:ProcessoSincronoRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>* 17:33:11,788 | INFO | qtp8427326-1908 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ### 17:33:11,788 | INFO | qtp8427326-1908 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ### 17:33:11,789 | INFO | qtp8427326-1908 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ### 17:33:11,927 | INFO | ault-workqueue-1 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ---------------------------------- 17:33:11,928 | INFO | ault-workqueue-1 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | before SOAPMessageConsumerPROCESSOR... 17:33:11,928 | INFO | ault-workqueue-1 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ### body =* <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header/><soapenv:Body><ProcessoSincronoResponse xmlns="br.edu.fzlbpms.teste"> <tns:result xmlns:tns="br.edu.fzlbpms.teste"><input xmlns="">string_to_echo</input></tns:result>* </ProcessoSincronoResponse></soapenv:Body></soapenv:Envelope> 17:33:11,928 | INFO | ault-workqueue-1 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ### 17:33:11,929 | INFO | ault-workqueue-1 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ### 17:33:11,929 | INFO | ault-workqueue-1 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ### 17:33:11,929 | INFO | ault-workqueue-1 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ---------------------------------- 17:33:11,929 | INFO | ault-workqueue-1 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | before SOAPMessageConsumerPROCESSOR... 17:33:11,929 | INFO | ault-workqueue-1 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ### body = string_to_echo 17:33:11,929 | INFO | ault-workqueue-1 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ### 17:33:11,929 | INFO | ault-workqueue-1 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ### 17:33:11,929 | INFO | ault-workqueue-1 | BPMS_CAMEL_ROUTE___OrbeonService | 90 - org.apache.camel.camel-core - 2.8.0.fuse-07-15 | ### -- View this message in context: http://camel.465427.n5.nabble.com/Sharing-a-solution-for-discussion-tp5732560p5732854.html Sent from the Camel - Users mailing list archive at Nabble.com.