Подтвердить что ты не робот

Apache Camel http to http routing (возможно ли это?)

Сейчас я начинаю с Верблюда. Я видел компонент http4 для http-клиентов и компонент причала для http-серверов.

Я видел несколько примеров, которые используют тот или иной. Я хотел бы знать, можно ли объединить их вместе.

Пример

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

Это сделало бы верблюда простым HTTP-маршрутизатором/прокси. Веб-браузеры попали бы на URL верблюда и вместо этого получили бы Google. (Google - всего лишь пример, у меня есть реальная служба на основе POST, которую я хочу использовать)

Этот маршрут возможен? Должен ли я исследовать Camel или мне нужна другая программная среда для этого? В будущем мне также нужно будет добавить преобразования/фильтры между ними.

Я попробовал и получил исключение 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
4b9b3361

Ответ 1

Вам нужно свернуть конечную точку.

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