2014-03-19 10 views
3

WCF-CustomIsolated 수신 위치가있는 수신 포트가 있습니다.WCF-CustomIsolated 수신 위치에서 실패한 메시지 만들기

수신 포트에서 "실패한 메시지의 라우팅 사용"을 선택했습니다.

파이프 라인 설정에서 ValidateDocument를 true로 설정했습니다.

클라이언트가 잘못된 스키마를 보내면 유효성 검사 오류 (파이프 라인에서 발생)가 발생하고 정상입니다.

그러나 메시지 상자에 오류 메시지로 라우팅되지 않았습니다.

왜 그런 일이 일어날 수 있습니까?

"실패한 메시지 라우팅"이이 경우 작동하지 않는 이유는 무엇입니까? 어떤 경우에 효과가 있습니까?

감사합니다.

답변

0

오류 메시지를 구독해야합니다. 수신 포트, 메시지 유형 및/또는 메시지 오류로 설정된 필터와 함께 송신 포트 또는 오케스트레이션을 사용할 수 있습니다.

+0

구독 할 메시지가 전혀 없습니다. WCF 수신 위치를 얻는 방법에 대한 내 대답을 참조하여 실제로 실패한 메시지를 만들 수있게하십시오. – Dijkgraaf

+0

아, 질문을 잘못 읽었습니다. 나는 그걸 다음 단계로 떠날거야. – RedEyedMonster

2

수신 위치에서 전송 속성, 메시지, 오류 처리로 이동 한 다음 오류 발생시 일시 중단 요청 메시지를 선택하십시오.
"Suspend"가 수신 포트에서 실패한 메시지에 대한 라우팅과 함께이 사실을 확인하더라도 실제로는 나중에있는 FailedMessage가 만들어집니다. (실패한 메시지에 대한 라우팅이 활성화되지 않은 경우 일시 중단됩니다).

이는 CustomIsolated 어댑터뿐만 아니라 모든 WCF 어댑터에 적용됩니다.

+0

문제는 "Suspend request message on failure"를 체크하면 클라이언트는 오류를받지 않는다는 것입니다. 하지만 클라이언트가 SOAP 오류도 수신하기를 원합니다. – valsador

+0

이상하게도 BizTalk 2010에서 이러한 동작이 발생하지 않습니다. 양방향 포트 (요청/응답) 또는 단방향 포트입니까? – Dijkgraaf