2012-04-18 3 views
1

CXF 프레임 워크에서 편안한 웹 서비스 빌드를 사용하고 있습니다. 요구 사항은 누군가가이 서버를 때릴 때 나는 매개 변수에 따라 google, bing 등의 콘텐츠 제공자로부터 데이터를 가져 와서 클라이언트에게 되돌려 주어야한다는 것입니다. 이제는 서비스 제공자에게 전화를 걸어 그 결과를 얻는 것이 Camel Framework를 사용하여 이루어질 것입니다. . ("direct : start") .to ("http://google.com) .bean (ffoo | bar)의 간단한 경로를 사용하면 서비스 제공 업체와 이야기하고 내가 원하는 모든 작업을 수행 할 수 있음을 확인했습니다. 결과.하지만 문제는 "직접 : 시작"대신이 경로가 클라이언트에 의해 내 서비스 메서드에서 시작되도록해야합니다. 내가 POJO 생산에 대해 조금 읽었지만 어떻게 이해할 수 없었습니다. 작품과 그것이 내 문제를 해결할 것인가?Apache Camel : 라우팅에 대한 조언이 필요합니다.

또한이 문법에서 ..().에서 (...) ...까지는 consmer이고 from은 생산자입니까? 내 기록에는 경로가 직접 시작에서 시작한다고 말하기 때문에 ... 스프링 구성 유형의 대답을 선호합니다

목요일 nks

+0

에서 ProducerTemplate을 통한 "직접 : 시작"엔드 포인트에서 교환 - 낙타없이 CXF *를 사용하고 누군가 서버에 도달하면 CXF 코드가 생성자를 생성하고 'direct : start'메시지? –

+0

예 cxf는 낙타와 별개입니다. 이제 누군가 내 서버에 접속하면 낙타를 사용하여 Google에 연결해야합니다. from 문법으로 내 서버를 직접 가져갈 수있는 몇 가지 낙타 구성 요소가 있습니까? 대신 (직접 : 시작) 일부 (서버 : foobar) 수 있습니다. – Sikorski

답변

0

초기에는 (Roy Truelove의 답변에서 영감을받은) 웹 서비스 용 cxfrs 구성 요소를 구현했지만 다른 complications으로 연결됩니다. 이제 직접 사용 : 경로를 시작하기위한 구성 요소를 시작 .. 내 설정은 다음과 같습니다

<camel:route> 
<camel:from uri="direct:start" /> 
<camel:process ref="customInProcessor" /> 
<camel:to uri="http://localhost:8080/DummyGoogleProject/search" /> 
<camel:to uri="bean:googleResponseHandler" /> 
</camel:route> 
</camel:camelContext> 

customInProcessor는 (일부 problems in route execution이없이이되었다) 내가 주입하고, 쿼리 등 수정 CamelHttpUri, 경로 등의 일부 처리 않습니다 내 POJOs (POJO producing)

1

예, 낙타는 REST 서비스를 노출하고 이러한 요청을 다운 스트림으로 라우팅 할 수 있습니다.

몇 가지 옵션을 사용할 수 있습니다. 첫 번째 옵션처럼 들리는 것은 가장 고통스러운 것입니다 :

편집 - 코멘트

위의 모든 구성 요소에 댓글을 올리려면 서버 측에서 REST 기반 웹 서비스로 서버를 노출 할 수 있습니다. Camel-speak은 외부에서 메시지를 사용하기 때문에 사용자가 소비자로이라는 구성 요소를 사용하고 있음을 의미합니다.

생산자와 소비자에 대한 자세한 내용은 the author himself보다 설명하기가 쉽지 않습니다.

+0

나는 CXFRS 구성 요소를 살펴볼 것이다 .. 감사합니다 – Sikorski

+0

또한 이것을 분명히하십시오 :이 문법에서 ..(). (...) ...은 consmer이고 from은 생산자입니까?왜냐하면 내 로그에 경로가 직접적으로 소모하고 있다고하기 때문입니다. – Sikorski

+0

CXFRS 구성 요소를 사용하면이 기능을 사용하여 나머지 웹 서비스를 노출해야한다는 의미입니까? 아니면 클라이언트 측만 사용해야합니까? 나는 약간 혼란 스럽다. – Sikorski

관련 문제