2014-10-28 3 views
0

다음과 유사한 xml을 가지고 있습니다. urml로 구성된 일부 요소가 있습니다. 그 URL은 다른 XML을 포함하는 또 다른 웹 서비스입니다. 내가해야 할 일은 webservice의 정보로 내 xml을 완성하는 것입니다. 낙타로 얻으려고합니다.Camel - 다른 서비스의 값으로 XML을 완성하는 데 사용할 패턴

초기 XML

<root> 
    <level11>Level1.txt</level1> 
    <level12> 
     <level21>http://someservice/11</level21> 
     <level21>http://someservice/12</level21> 
    </level12> 
    <level13> 
     <level22>http://someservice/21</level22> 
     <level22>http://someservice/22</level22> 
    </level13> 
</root> 

http://someservice

내가 원래 XML로 교체해야하는 XML을 반환 다음은 예를 간다. 예를 들어

http://someservice/11 반환

<someservice> 
    <test>11</test> 
</someservice> 

http://someservice/12 반환

<someservice> 
    <test>12</test> 
</someservice> 

http://someservice/21 반환

<someservice> 
    <test>21</test> 
</someservice> 

http://someservice/22 반환

<someservice> 
    <test>22</test> 
</someservice> 

내 최종 XML은 다음과 같습니다

<root> 
    <level11>Level1.txt</level1> 
    <level12> 
     <level21> 
      <someservice> 
       <test>11</test> 
      </someservice> 
     </level21> 
     <level21> 
      <someservice> 
       <test>12</test> 
      </someservice> 
     </level21> 
    </level12> 
    <level13> 
     <level22> 
      <someservice> 
       <test>21</test> 
      </someservice> 
     </level22> 
     <level22> 
      <someservice> 
       <test>22</test> 
      </someservice> 
     </level22> 
    </level13> 
</root> 

그래서 제 질문은 내가이 결과를 달성하기 위해 사용해야하는 가장 좋은 패턴 무엇입니까?

답변

1

이것은 콘텐츠 강화 EIP에 맞는 것으로 보입니다. 이 EIP를 사용하면 다른 서비스의 출력을 기반으로 원본 메시지를 추가하고 확장 할 수 있습니다. 자세한 내용은 Apache Camel 사이트의 Content Enrichment EIP 설명서를 참조하십시오.