'MyMessage'메시지 또는 실제 WCF 송신 포트에 바인딩 된 논리 송신 포트로 전송 된 것과 동일한 메시지를 신청하려고합니까?
은 "MyMessage"메시지가 다음 더 매핑하고 오케스트레이션의 논리적 송신 포트를 사용하여 웹 서비스로 전송됩니다 :
당신은 것을 주장했다. 그러면 WCF 송신 포트가 오케스트레이션에 바인딩되고 모든 것이 올바르게 작동합니다.
메시지 MSGBOX에 게시하지 당신이 설명한 것을, 당신이 보내기 모양이없는 것을 제안에서
/논리적 'MyMessage'메시지에 대한 오케스트레이션 포트 조합을 전송하는 포트 전송 필터에서이 메시지 유형을 수동으로 구독 할 수없는 이유입니다. '실패한 라우팅 보고서'메시지를 언급하지 않았다는 사실은 이것이 사실임을 암시합니다.이 메시지 유형은 MsgBox에 게시 할 메시지에 대한 구독 정보를 찾을 수 없을 때 생성됩니다.
캡처 메시지의 '메세지 유형'
당신이 당신의 포트를 보내기 WCF를 통해 전송되는 메시지의 사본을 캡처해야하지만, 당신은 의 메세지 유형을 결정하고 사용해야하는 경우 그 메시지를 파일에 쓰는 두 번째 전송 포트 구독에서 같은 오케스트레이션을 통해 메시지를 보내기
- 정지 (등록을 취소하지 않음) WCF 포트
- 보내기 : 당신이 메세지 유형이 사용하는 것과 같은 확실하지 않은 경우
,이 정보를 확인하는 간단한 트릭이있다 normal - WCF 전송 포트의 BizTalk 관리 콘솔에서 메시지가 'Suspended Resumable'으로 표시됩니다.
- BizTalk 관리 콘솔에서 메시지를 열고 '메시지 컨텍스트'를 봅니다. Message Context에서 'MessageType'속성을 볼 수 있습니다.이 속성을 사용하여 사용할 구독 필터를 이해할 수 있습니다.
- WCF 송신 포트를 시작하여 메시지를 비 웁니다.
오케스트레이션을 변경하지 않으려면 (원본) WCF 전송 포트의 전송 파이프 라인을 통과 할 때 메시지를 보관할 수 있습니다. 자신의 보관 구성 요소를 작성하거나 existing commercial component. 이러한 방식으로 보관 구성 요소를 사용하면 추가 가입 및 관련 송신 포트 유지 관리 비용을 절약 할 수 있습니다.
업데이트 : 그것은 매우 많은 영업 이익 (주석 참조) 자신의 오케스트레이션에서 메시지 상자에 중간 메시지를 전송하지 같은 소리
. 메시지 구독은 이 메시지 상자에으로 게시 된 경우에만 작동합니다.이 경우 해당 메시지 ('메시지 B')는 오케스트레이션의 수명이 & 인 중개 메시지입니다. OP는 메시지를 송신 포트를 통해 구독 할 수 있도록 오케스트레이션 내의 직접 연결 포트로 메시지를 보내야합니다.
나는 오케스트레이션을 비등시킬 것이다. 메시지 A가 들어옵니다.이 메시지는 새 메시지 B에 매핑되고 새 메시지 C에 매핑됩니다. 메시지 C는 WCF 양방향 전송 포트로 보내집니다. 메시지 C와 WCF 송신 포트의 응답에 가입 할 수 있습니다. 메시지 B는 오케스트레이션이지도를보다 직관적으로 유지하기 위해 사용하는 중간 메시지입니다. 궁극적으로 통합은 메시지 A와 C에 대해서만 신경을 쓰지만, 진단 보류에서 필요한 경우 메시지 B에 가입하고 싶습니다. – Jeremy
Jeremy, 메시지 상자에 메시지 B를 보내지 않아서 송신 포트의 가입을 활성화 할 수있는 것 같습니다. 메시지 B는 오케스트레이션 컨텍스트 내에서만 살며 메시지 상자에 게시되지 않습니다. 따라서 Direct Bound로 구성된 논리적 송신 포트로 맨 위 메시지 B를 보내야합니다. –
제 대답에 대한 업데이트를 참조하십시오. –