다음을 통해 공유


나가는 MDN 생성

AS2 수신 파이프라인에서는 들어오는 메시지에 대해 MDN(Message Disposition Notification) 응답을 생성합니다. 이 작업은 EDI로 인코딩된 메시지에 대한 응답으로 AS2EDIReceive 수신 파이프라인의 EDI 디스어셈블러 파이프라인 구성 요소에 의해 수행되거나, EDI로 인코딩되지 않은 메시지에 대한 응답으로 AS2EDIReceive 수신 파이프라인의 AS2 디스어셈블러 파이프라인 구성 요소에 의해 수행됩니다.

MDN이 생성되는 경우 및 생성 방식

MDN은 일반적으로 다음과 같이 원본 AS2 메시지의 AS2 헤더를 기반으로 생성됩니다.

  • AS2 메시지에 Disposition-Notification-To 헤더가 있으면 MDN이 보내집니다.

  • 메시지에 Disposition-Notification-To 헤더와 Receipt-Delivery-Option 헤더가 있으면 MDN이 비동기적으로 보내집니다. MDN은 원본 메시지와는 다른 연결을 통해 Receipt-Delivery-Option 헤더에 있는 URL로 보내집니다.

  • 메시지에 Disposition-Notification-To 헤더가 있지만 Receipt-Delivery-Option 헤더는 없으면 MDN이 원본 메시지와 동일한 연결을 통해 동기적으로 보내집니다.

    디스어셈블러에서는 받은 AS2 메시지의 AS2-To 헤더를 토대로 MDN의 AS2-From 헤더를 만들고 받은 AS2 메시지의 AS2-From 헤더를 토대로 MDN의 AS2-To 헤더를 만듭니다.

    BizTalk Server 사용하면 MDN이 생성될지 여부와 파티의 AS2 규약 속성에 따라 생성되는 방법을 지정하여 이러한 설정을 재정의할 수 있습니다. 규약 속성 대화 상자의 단방향 AS2 규약 탭에서 메시지 헤더 속성 대신 유효성 검사에 규약 설정 사용 및 MDN을 사용하여 메시지의 AS2 헤더 설정을 재정의합니다. 이 속성을 사용하면 AS2 헤더에서 요청하지 않아도 MDN을 보내거나, AS2 헤더에서 동기 연결을 지정할 때 비동기적으로 MDN을 보낼 수 있습니다.

    메시지 헤더 속성 대신 유효성 검사 및 MDN에 규약 사용 설정을 설정하면 다음과 같이 규약 속성 대화 상자의 단방향 AS2 규약 탭에 있는 보낸 사람 MDN 설정 페이지의 MDN 요청 섹션에 있는 값이 MDN에 사용됩니다.

  • MDN 요청 속성을 선택하면 MDN이 전송됩니다.

  • 요청 MDN 속성을 선택하고 비동기 MDN 요청 속성을 선택하면 MDN이 비동기적으로 전송됩니다. MDN은 원래 메시지와 다른 연결을 통해 URL(Receipt-Delivery-Option) 속성이 설정된 URL로 전송됩니다.

  • 요청 MDN 속성을 선택했지만 비동기 MDN 요청 속성이 선택되지 않은 경우 MDN은 원본 메시지와 동일한 연결을 통해 동기적으로 전송됩니다.

    유효성 검사에 규약 설정 사용 및 메시지 헤더 속성 대신 MDN을 설정하면 메시지 헤더의 AS2-From 속성이 MDN을 생성하는 데 사용되지만 AS2-To 계약 속성에서 가져와서 파이프라인이 서명된 MDN 요청 속성에 따라 MDN에 서명합니다. 규약 속성과 그에 해당하는 AS2 헤더는 다음과 같습니다.

규약 속성 메시지의 AS2 헤더
MDN 생성 Disposition-Notification-To
MDN에 서명 Signed-Receipt-Protocol
Receipt-Delivery-Option Receipt-Delivery-Option

MDN이 사용하도록 설정된 경우 수신 파이프라인에서는 다음 컨텍스트 속성을 승격합니다.

  • EdiIntAS.DispositionMode

  • EdiIntAS.DispositionType

    MDN을 생성하려면 이러한 컨텍스트 속성을 모두 승격해야 합니다. 이러한 컨텍스트 속성에 대한 자세한 내용은 AS2 컨텍스트 속성을 참조하세요.

    들어오는 메시지의 구성 설정과 헤더가 일치하지 않는 경우 수신 파이프라인은 부정 MDN을 생성합니다.

    규약 속성에서 MDN이 요청된 경우 수신 파이프라인에서는 AS2 처리 과정에서 오류가 발생하더라도 MDN을 보내려고 시도합니다.

수신 파이프라인에서 생성된 MDN을 처리하는 방법

위의 규칙에 따라 MDN이 생성된 경우 AS2EDIReceive 또는 AS2Receive 수신 파이프라인에서는 다음과 같이 MDN을 처리합니다.

  • 단방향 AS2 규약 속성에서 설정된 경우 통신 형식의 MDN 복사본을 만들어 부인 방지 데이터베이스에 저장합니다.

  • 단방향 AS2 규약 속성에서 설정된 경우 디지털 서명 적용을 포함한 MIME 처리를 수행합니다.

  • AS2 메시지 페이로드에 대한 MIC(메시지 무결성 검사)를 계산하여 MDN의 Received-content-MIC 확장 필드에 추가합니다. MIC에 적용할 알고리즘은 들어오는 메시지의 signed-receipt-micalg 헤더 또는 규약 속성 대화 상자의 단방향 규약 탭(인바운드 메시지 속성이 재정의된 경우)의 보낸 사람 MDN 설정 페이지에 있는 서명 알고리즘 속성에 의해 결정됩니다. 이 알고리즘은 SHA1 또는 MD5일 수 있습니다. 알고리즘 값은 MDN에도 포함됩니다.

  • 비거부 데이터베이스에 상관 관계 항목을 만듭니다.

  • MDN 메시지의 복사본을 만듭니다.

  • MDN을 동기적으로 전송할 경우 파이프라인은 속성을 False로 설정하고 EdiIntAS.IsAS2AsynchronousMDN , 비동기적으로 속성을 True로 설정합니다.

  • MDN을 동기적으로 전송하는 경우 양방향 수신 포트와 연결된 AS2Send 송신 파이프라인은 속성(False로 설정) 및 상관 관계 토큰에 EdiIntAS.IsAS2AsynchronousMDN 따라 MDN을 선택합니다.

    참고

    나가는 동기 MDN에 등록하도록 송신 포트를 설정할 수도 있습니다. 이렇게 하려면 송신 포트 필터를 로 EdiIntAS.IsAS2MdnResponseMessage==True설정합니다.

  • MDN을 비동기식으로 전송해야 하는 경우 수신 파이프라인에서는 MDN을 MessageBox로 라우팅합니다. MDN을 구독하도록 송신 포트를 설정하고 송신 포트 필터를 로 IsAS2AsynchronousMdn==True설정해야 합니다. AS2Send 송신 파이프라인에서는 이 속성과 상관 관계 토큰에 따라 메시지를 선택합니다. 동적 송신 포트의 경우 메시지 헤더의 Receipt-Delivery-Notification 줄에 있는 주소로 MDN을 라우팅합니다. 정적 송신 포트의 경우에는 송신 포트의 전송 URI 속성에 따라 메시지를 라우팅합니다.

MDN 생성 규칙

MDN 생성에는 다음 규칙이 적용됩니다.

  • 메시지를 보낸 사람이 명시적으로 서명된 수신 확인을 요청했지만 메시지의 내용을 처리하는 중 오류가 발생한 경우 메시지를 받은 사람은 트랜잭션 자체가 올바르지 않을 수 있더라도 여전히 서명된 수신 확인을 반환해야 합니다. 메시지의 내용을 처리하는 중에 발생한 오류의 원인은 "disposition-field"에서 설정해야 합니다.

  • MDN 수신 확인 요청에서 수신 확인에 서명하도록 명시적으로 지정되었지만 원본 메시지의 받는 사람이 요청된 프로토콜 형식이나 요청된 MIC 알고리즘을 지원할 수 없는 경우에는 서명되었거나 서명되지 않은 수신 확인이 반환되어야 합니다.

  • 서명이 명시적으로 요청되지 않았거나 서명된 수신 확인 요청 매개 변수가 수신 파티에 대한 규약에서 인식되지 않는 경우, 수신 파티는 서명되지 않은 수신 확인 또는 서명된 수신 확인을 반환하거나 수신 확인을 반환하지 않을 수 있습니다.

MIC 생성

MDN이 필요한 경우 원본 메시지의 받는 사람은 MIC(메시지 무결성 검사)를 생성하여 MDN에 추가합니다. EDI 교환이 다중 파트 MIME 콘텐츠 유형의 일부인 경우 EDI 교환 및 MIME 헤더를 포함하여 전체 다중 파트 콘텐츠에 대해 MIC를 계산해야 합니다. 서명되지 않은 암호화된 메시지의 경우 암호 해독된 MIME 헤더 및 콘텐츠에 대해 반환할 MIC가 계산됩니다. 서명되지 않고 암호화되지 않은 메시지의 경우에는 MIME 헤더를 제외하고 메시지 콘텐츠에 대해서만 MIC가 계산되어야 합니다.

참고 항목

BizTalk Server에서 AS2 메시지를 받는 방법