2011-04-13 19 views
13

Şimdi Camel ile başlıyorum. Http istemcileri ve http sunucuları için jetty bileşeni için http4 bileşenini gördüm.Apache Deve http http yönlendirmesi (Bu mümkün mü?)

Birini veya diğerini kullanan birkaç örnek gördüm. Onları birleştirmenin mümkün olup olmadığını bilmek isterim.

Örnek

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

Bu deve basit http tabanlı yönlendirici/vekil yapar. Web tarayıcıları deve URL'sine ve bunun yerine google'a ulaşırdı. (Google sadece bir örnek, kullanmak istediğim gerçek bir POST tabanlı hizmetim var)

Bu rota mümkün mü? Camel'i araştırmalı mıyım yoksa bunun için farklı bir yazılım çerçevesine mi ihtiyacım var? Gelecekte de aralarında dönüşümler/filtreler eklemem gerekecek.

Ben denedim ve bir nullpointer istisna Sen bitiş noktası köprü gerekir

[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

Yeni (google.com) adresi için bir bitiş noktası oluşturdunuz mu? – Padmarag

cevap

30

var.

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

Etkilendim! Gurunun kendisinden bir cevabım var! Teşekkür ederim! Deve soruları için lütfen izleme yığınını takip edin ... – kazanaki

+4

Sadece toplumu emziriyorum. Bu da önemli. Ve yolda son kullanıcıların Camel ile ne yaptığını öğreneceksiniz. –

+2

Bu çözüm hakkında bir sayfa ekledik: http://camel.apache.org/how-to-use-camel-as-a-http-proxy-between-a-client-and-server.html –

İlgili konular