2011-10-20 10 views
2

내 프로젝트와 2 개의 스키마에 2 개의 오케스트레이션이 있습니다. 첫 번째는 요청 용이고 두 번째는 응답 용입니다. Orchestration 1의 모양은 Receive (활성화 = true)입니다. 요청을 수신 한 다음 Orchestration 2으로 라우팅합니다. 후자는 응답으로 응답하는 웹 서비스에 대한 요청을 구성하고 2 분을 기다린 다음 내 BizTalk 서비스에 새 요청을 보냅니다. 두 프로젝트 모두 동일한 스키마 (RequestResponse 스키마)를 사용합니다.BizTalk의 상관 관계

Orchestration 2은 웹 서비스에 요청을 보내는 Send 모양으로 초기화되는 상관 관계 세트를 사용합니다. 또한 Orchestration 2은 이전에 Send 모양으로 설정된 상관 관계가있는 메시지를 기다리는 Receive 모양을 가지고 있습니다. 여기

시퀀스 다이어그램이다 enter image description here

그리고 Orchestration 2있다 : enter image description here

Send_1Receive_2 형상 상관 특성이 설정된 것이다.

웹 서비스가 내 biztalk 서비스에 request2 (위의 다이어그램 참조)를 전송하면 메시지에 "메시지가 여러 요청 응답 구독을 찾았습니다. 메시지는 단일 요청 응답 구독으로 만 라우팅 될 수 있습니다. . " 상관 관계를 설정 한 경우 어떻게 될 수 있습니까? 상관 관계가있는 수신기가 있기 때문에 request2가 Orchestration 2으로 라우팅 될 것으로 예상됩니다.

답변

3

오류 메시지가 올 바릅니다.

요청이 WebService에서 전송되면 Orchestration2의 Activation Receive Shape로 라우팅됩니다.

그러나 상관 관계가 적용되기 때문에 요청이 추가되어 Orchestration2의 세 번째 Receive 셰이프로 라우팅되는 것으로 예상됩니다.

요청 스키마를 구분할 수없는 경우 Orchestration2를 활성화하기 위해 추가 조건을 사용해야합니다. 예를 들어 컨텍스트 속성에 따라 추가 필터를 사용하여 Orchestration1에서 제공되는 요청을 필터링 할 수 있습니다.

하나의 요청은 WCF 또는 SOAP 어댑터에서 발생하지만 하나는 요청하지 않는 것으로 나타납니다.

+0

네, 감사합니다. Orchestration 1의 Receive shape에 Filter 식을 설정 했으므로 모든 것이 작동했습니다. –