다음을 통해 공유


실패한 메시지 등록 사용

MICROSOFT BizTalk Accelerator for SWIFT(A4SWIFT) 디스어셈블러가 메시지를 처리(구문 분석 및 유효성 검사)하면 해당 메시지의 속성을 승격합니다. 이러한 승격된 속성은 메시지의 정확성 및 유효성에 대한 정보와 A4SWIFT 인바운드 일괄 처리의 일부로 메시지를 받은 경우 일괄 처리 관련 정보를 제공합니다. 이러한 속성의 전체 목록은 A4SWIFT_* 승격된 속성을 참조하세요.

네이티브 BizTalk 디스어셈블러와 달리 A4SWIFT 디스어셈블러는 처리 시 오류 또는 오류가 발생할 때 메시지를 일시 중단하지 않습니다. 대신 유효한 메시지와 마찬가지로 실패한 메시지를 MessageBox 데이터베이스에 게시합니다. 결과적으로 실패한 메시지는 오류 세부 정보를 MessageBox 데이터베이스로 전달할 수 있습니다. MessageBox 데이터베이스에서 메시지를 검색하고, 메시지를 처리 및 복구하고, 메시지를 MessageBox 데이터베이스에 다시 제출할 수도 있습니다. 메시지가 실제로 일시 중단된 경우 이러한 작업의 대부분을 수행할 수 없습니다.

A4SWIFT MessageBox 데이터베이스에 게시한 메시지를 승격된 속성에 의해 실패하거나 잘못된 것으로 식별할 수 있습니다. 실패한 메시지를 처리할 때 SWIFT 디스어셈블러는 MessageBox 데이터베이스에 메시지를 게시하기 전에 A4SWIFT_Failed 속성과 다음 속성 중 하나 이상을 채우고 승격합니다.

  • A4SWIFT_ParseErrors 처리 중에 발생한 구문 분석 오류(예: 형식이 잘못된 데이터)의 수를 나타냅니다.

  • A4SWIFT_XmlValidationErrors 처리 중에 발생한 XML 유효성 검사 오류(예: 잘못된 데이터 또는 스키마와 관련된 잘못된 형식)의 수를 나타냅니다.

  • A4SWIFT_BreValidationErrors 처리하는 동안 발생한 BRE(비즈니스 규칙 엔진) 유효성 검사 오류(예: SWIFT 네트워크 규칙을 위반하는 데이터)의 수를 나타냅니다.

  • A4SWIFT_Failed 위의 속성 수가 0보다 크거나 개수가 0인 경우 false인 경우 true입니다.

    이러한 속성은 모두 Microsoft 의 일부입니다. Solutions.A4SWIFT.Property 네임스페이스입니다. 이러한 속성 및 기타 승격된 속성에 대한 자세한 내용은 A4SWIFT_* 승격 속성을 참조하세요.

    실패한 메시지를 catch하거나 검색하려면 위에 나열된 속성 중 일부를 식의 AND 절로 포함하는 송신 포트 또는 오케스트레이션 수신 셰이프에 대한 필터 식(구독)을 만들어야 합니다.

    예를 들어 실패한 모든 메시지를 구독하려면 다음 절(다른 절이 있는 경우 AND 절)을 추가합니다.

    Microsoft. Solutions.A4SWIFT.Property.A4SWIFT_Failed == true

    구문 분석 오류만 있는 메시지를 구독하려면 다음 절을 함께 추가합니다.

    Microsoft. Solutions.A4SWIFT.Property.A4SWIFT_Failed == true,AND Microsoft . Solutions.A4SWIFT.Property.A4SWIFT_XmlValidationErrors == 0,ANDMicrosoft . Solutions.A4SWIFT.Property.A4SWIFT_BreValidationErrors == 0;

    반대로 유효한 메시지만 처리하도록 설계된 송신 포트 또는 오케스트레이션의 경우 "ANDMicrosoft 를 포함합니다. 필터 식의 절로 == false"를 Solutions.A4SWIFT.Property.A4SWIFT_Failed.

참고

구독이 겹치면 A4SWIFT 모든 구독을 충족합니다. 즉, 둘 이상의 서비스(송신 포트 또는 오케스트레이션)에 특정 메시지에 의해 처리된 필터 식이 있는 경우 이러한 모든 서비스는 동일한 메시지를 받습니다. 예를 들어 송신 포트가 실패한 모든 메시지를 구독하고 오케스트레이션이 구문 분석 오류가 있는 메시지만 구독하는 경우 메시지를 처리할 때 A4SWIFT 구문 분석 오류가 발생하면 두 구독이 모두 충족됩니다. 서비스 간 구독에서 원치 않는 겹침을 제거해야 합니다.

참고

A4SWIFT 메시지를 수신하고 처리하고 MessageBox 데이터베이스에 해당 메시지를 게시하지만 메시지가 구독을 충족하지 않는 경우 A4SWIFT 구독자 부족을 나타내는 BizTalk Server 오류와 함께 메시지를 일시 중단합니다. 예를 들어 모든 메시지 "A4SWIFT_Failed == false"를 구독하는 서비스가 있지만 "A4SWIFT_Failed == true"인 메시지를 구독하는 서비스가 없는 경우 구문 분석 또는 유효성 검사에 실패한 메시지는 구독자 부족으로 인해 실제로 일시 중단됩니다. 이 시나리오를 사용하면 실제로 실패한 메시지의 기존 일시 중단을 모방할 수 있습니다. 일시 중단하지 않으려는 모든 메시지를 구독해야 합니다. MessageBox 데이터베이스 구독, 송신 포트, 오케스트레이션 및 필터 식에 대한 자세한 내용은 BizTalk Server 도움말을 참조하세요.

이 섹션에는 다음 항목이 포함됩니다.