transferencia de datos desde la cola al servidor de jabón utilizando camello apache

Tengo un JSON en la cola: {"user":'Alex', "times": 34}. Quiero de estos datos enviar una solicitud de jabón al servidor

WSDL:

wsdl

mi ruta

<route>
    <from uri="rabbitmq://10.0.62.201/exchange1?queue=from-lanbilling" />
    <to uri="cxf://http://0.0.0.0:8000?wsdlURL=http://localhost:8000/?wsdl" />
    <log message="message ${body}" />
</route>

¿Cómo puedo transformar los datos JSON de la cola para la solicitud de jabón?

ACTUALIZAR

Tuve que usar camel-http con xml forzado de cadena de jabón:

Plano:

<camelContext
    xmlns="http://camel.apache.org/schema/blueprint">

    <route>
        <from uri="rabbitmq://10.0.62.201/exchange1?queue=from-lanbilling" />
            <process ref="jTos" />      
            <log message="message ${body}" />
        <!--  <to uri="cxf://http://0.0.0.0:8000?dataFormat=PAYLOAD" />  -->
                    <setHeader headerName="Content-Type">
            <constant>application/xml; charset=utf-8</constant>
        </setHeader>
        <to uri="http://0.0.0.0:8000"/>
        <log message="message ${body}" />
    </route>


</camelContext>

JsonToSoap:

public class JsonToSoap implements Processor {

public void process(Exchange exchange) throws Exception {

    String json = exchange.getIn().getBody(String.class);
    JSONObject obj = new JSONObject(json);

    String name = obj.getString("name");
    Integer timer = obj.getInt("timer");

    String soap_xml = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:spy=\"spyne.examples.hello\">\r\n" + 
            "   <soapenv:Header/>\r\n" + 
            "   <soapenv:Body>\r\n" + 
            "      <spy:say_hello>\r\n" + 
            "         <spy:name>" + name +"</spy:name>\r\n" + 
            "         <spy:times>" + timer + "</spy:times>\r\n" + 
            "      </spy:say_hello>\r\n" + 
            "   </soapenv:Body>\r\n" + 
            "</soapenv:Envelope>";


    exchange.getOut().setBody(soap_xml);


}
}

¿Cómo hago lo mismo solo a través camel-cxf? Creo que hay una solución más elegante.

Respuesta 1

Tengo una aplicación que recupera datos a través de httpconnection solo b llamando a un script php. Quiero implementar lo siguiente: habilitar notificaciones como Facebook cuando lleguen nuevos datos. He encontrado una manera de hacer ...

Estoy tratando de escribir en un archivo en una aplicación de Android con este código: Archivo guardar = nuevo archivo ("sdcard / save.txt"); if (! save.exists ()) {try {save.createNewFile (); } catch (IOException e) {...

He trabajado con ContentProviders en proyectos anteriores y esto siempre me ha funcionado, sin embargo, esta vez no puedo entender el problema. Cuando ejecuto una actualización () usando un Content Resolver, ...

Intento agregar un sistema de caché en un servidor JBoss, como se describe en la documentación de Resteasy: Características de almacenamiento en caché de Resteasy, en la parte 29.3. (Caché de respuesta del lado del servidor local): Lo siguiente que tiene ...