2013-11-21 8 views
2

나는 Mule을 처음 접했고 여기에 내가하려고하는 것이있다. 1) 아웃 바운드 휴식 서비스 A 2) 결과와 통화 대기 서비스 B 3) 서비스 B의 결과를 집계하고 페이로드를 반환합니다. 다음은 내가 생각해 냈지만이 흐름은 서비스 A의 결과를 반환합니다. 어떻게 A에서 결과를 무시하고 B에서 집계 된 결과를 반환 할 수 있습니까? Logger for loop를 루프에 추가하여 B의 응답을 볼 수는 있지만 사용자에게 결과를 반환하는 방법을 모르십니까? 맞춤 수집기가 필요합니까?Mule - foreach에서 결과를 집계하고 결과를 반환하는 방법?

<flow name="test1Flow1" doc:name="test1Flow1"> 

    <http:inbound-endpoint exchange-pattern="request-response" doc:name="HTTP1" address="http://localhost:8082"/> 
     <copy-properties propertyName="*" doc:name="Property"/> 
     <http:outbound-endpoint doc:name="HTTP2" followRedirects="true" address="http://abcd/catalog/#[message.inboundProperties['http.relative.path']]?#[message.inboundProperties['http.query.string']]" contentType="text/xml"/> 

    <foreach doc:name="For Each" collection="#[xpath('//mc:assets/mc:asset')]"> 

    <http:outbound-endpoint doc:name="HTTP3" address="http://abcd#[xpath:@href]" contentType="text/xml" method="GET"/> 
    <collection-aggregator failOnTimeout="true" doc:name="Collection Aggregator"/>   
    </foreach> 

</flow> 

감사합니다!

답변

0

노새의 foreach는 루프처럼 작동하며 스플리터 및 애그리 게이터처럼 즉시 작동합니다.

나는 다음과 함께 사용 사례 달성 할 수있을 것이라고 믿는다 : HTTP의 B 밖으로

  1. HTTP
  2. 에서 HTTP 밖으로
  3. 스플리터
  4. 애그리 게이터 (aggregator)

의 모양은 다음과 같습니다. here 스플리터와 애그리 게이터.

감사