네트워크를 통해 두 서버간에 SQL Service Broker를 설정했는데 문제가 없습니다. 나는 현재 오류 처리를 구현하고있다. 메시지를 처리하기 위해 두 대기열에 첨부 된 프로 시저를 저장했습니다.MSSQL Service Broker 보낸 사람 측 오류 메시지 인식
잘못된 형식의 XML을 보내려고 할 때와 같이 메시지를 보낼 수없는 경우 메시지가 보낸 사람 큐에 남아 있습니다. 전송 상태는
입니다. Service Broker는이 대화에 대해 오류 메시지를 받았습니다. 서비스 브로커는 메시지를 전송하지 않습니다. 응용 프로그램이 대화를 종료 할 때까지 개최됩니다.
큐 질의
는is_conversation_error
및
is_end_of_dialog
필드
0
하고
message_type_name
대신 통상의 오류 유형에 보낼 때 I 사용 동일
select * from sys.transmission_queue
로 (프로 시저를 디버깅 오프).
대기열에서 이러한 메시지를 인식하는 방법이 있습니까? 자동 발신인 대기열에서이 메일을 현재 정상적인 메일로 처리하고 있습니다.
대신 계약에서 메시지 유효성 검사를 사용 중지하고 수신 측에서 메시지를 처리 할 때 xml로 메시지를 전송할 수없는 경우이를 오류 메시지 테이블로 집어 넣을 수 있습니다. –
실제로 재미 있습니다, 나는 'Validation = None'을 가지고 있지만 여전히 XML을 확인하는 것으로 보인다. – milez
이상한. 계약이 양측 (즉, 개시 자와 대상)에서 그렇게 보입니까? –