2011-04-13 17 views
13

Estoy empezando ahora con Camel. He visto el componente http4 para clientes http y el componente jetty para servidores http.Apache Camel http a rutas http (¿Es posible?)

he visto varios ejemplos que utilizan una o la otra. Me gustaría saber si es posible combinarlos juntos.

Ejemplo

from("jetty:http://0.0.0.0:8080/myapp/myservice") 
.to("http4://www.google.com"); 

Esto haría camello un simple http basado router/proxy. Los navegadores web golpearían la URL del camello y, en cambio, obtendrían google. (Google es sólo un ejemplo, tengo un servicio basado en la POST real que quiero usar)

¿Es esta ruta posible? ¿Debería investigar Camel o necesito un marco de software diferente para esto? En el futuro, también necesitaría agregar transformaciones/filtros en el medio.

he intentado y conseguido una excepción NullPointer

[qtp757856402-14] SendProcessor  DEBUG >>>> Endpoint[http4://www.google.com] Exchange[Message: [Body is instance of java.io.InputStream]] 
[qtp757856402-14] DefaultErrorHandler DEBUG Failed delivery for exchangeId: ID-IT12-53265-1302683969823-0-1. On delivery attempt: 0 caught: java.lang.NullPointerException 
[qtp757856402-14] DefaultErrorHandler ERROR Failed delivery for exchangeId: ID-IT12-53265-1302683969823-0-1. Exhausted after delivery attempt: 1 caught: java.lang.NullPointerException 
java.lang.NullPointerException 
+0

¿Ha creado un punto final para la nueva dirección (google.com)? – Padmarag

Respuesta

30

Es necesario tender un puente sobre el punto final.

from("jetty:http://0.0.0.0:8080/myapp/myservice") 
.to("http4://www.google.com?bridgeEndpoint=true&throwExceptionOnFailure=false"); 
+3

¡Estoy impresionado! ¡Recibí una respuesta del gurú mismo! ¡Gracias! Por favor, sigue monitoreando stackoveflow para preguntas sobre camellos ... – kazanaki

+4

Solo estoy amamantando a la comunidad. Eso también es importante. Y en el camino, aprendes lo que los usuarios finales hacen con Camel. –

+2

Hemos añadido una página sobre esta solución a: http://camel.apache.org/how-to-use-camel-as-a-http-proxy-between-a-client-and-server.html –

Cuestiones relacionadas