2016-07-05 3 views
0

이전에 다른 통합 프레임 워크와 라이브러리를 사용했으며 일반적으로 메시지 본문이나 페이로드를 처리하는 방식은 말하자면 가장 최근의 "업데이트"를 제외한 모든 것을 삭제하는 것입니다.낙타 바디를 덮어 쓰려면 어떻게해야합니까?

XML 메시지 (페이로드는 XML 메시지 임) -> XML (페이로드 XML 메시지)에서 XML을 가져 오기 위해 XPath 사용 -> 일부 REST API 호출 (페이로드 XML 메시지) -> REST API에서 돌아 가기 (페이로드는 이제 REST API가 반환 한 것과 같습니다)

나는 Camel에서 이러한 종류의 동작을 찾고 있습니다. 현재 Camel이 수행하는 작업은 "Return from REST API"이후이며, 페이로드는 REST API가 에 원래 XML 메시지을 첨부하여 반환 한 값입니다.

내가 REST API에서 반환하는 페이로드/본문 만 참조하는 가장 좋은 방법은 무엇입니까?

+0

예를 들려 줄 수 있습니까? Camel은 "추가"하지 않으며, 모든 프로세서는'in' 메시지를 변경하고 그 중 "현재"값을 설정합니다 (이전에 있던 것을 덮어 씁니다). –

+0

경로 작성 방법을 보지 않고도 주석을다는 것은 매우 어렵습니다. 일반적으로 각 통화가 끝나면 교환기가 덮어 쓰여서는 안됩니다. 그러나 당신에게 더 나은 대답을주기 위해 당신의 경로를 볼 필요가 있습니다. –

+0

이 동작은 올바르게 작동하지 않습니다. 당신은 당신의 노선을 게시 할 수 있습니까? 외부 API에 대한 간단한 REST 호출 후 REST API 응답은 실제 낙타 본문을 덮어 쓰거나 덮어 써야합니다. – gnanagurus

답변

0

교환 본문 {exchange.getIn(). getBody()}에는 REST API의 응답 만 포함됩니다. 응답을 형성하는 방법을 API에서 확인하십시오. 출력에 입력 XML이 추가 될 수 있습니다.

관련 문제