다음을 통해 공유


AS2를 통해 들어오는 EDI가 아닌 메시지의 수신 측 처리

BizTalk Server 함께 제공되는 AS2 파이프라인을 사용하여 AS2 전송을 통해 EDI 메시지 또는 비 EDI 메시지를 처리할 수 있습니다. 두 개의 페이로드 유형에 대해 서로 다른 파이프라인이 사용됩니다. AS2를 통해 들어오는 EDI 메시지를 처리하기 위해 AS2EdiReceive 파이프라인을 사용하고 연결된 MDN(설정된 경우)을 반환하기 위해 AS2Send 파이프라인을 사용합니다. AS2를 통해 들어오는 비-EDI 메시지를 처리하기 위해 AS2Receive 파이프라인을 사용하고 연결된 MDN(설정된 경우)을 반환하기 위해 AS2Send 파이프라인을 사용합니다. 비-EDI 메시지는 이진 페이로드일 수 있습니다.

AS2Receive 수신 파이프라인에서는 AS2 메시지를 디코딩한 다음 AS2 메시지에 대한 디스어셈블리를 수행합니다. AS2Send 송신 파이프라인은 MDN을 인코딩합니다. AS2Receive 및 AS2Send 파이프라인은 MDN이 동기인 경우 HTTP 양방향 간청 응답 송신 포트 또는 MDN이 비동기인 경우 단방향 HTTP 송신 포트와 단방향 HTTP 수신 포트에 포함할 수 있습니다. 비 EDI 페이로드의 디스어셈블리를 수행해야 하는 경우 BizTalk Server 수신 파이프라인에서 하나의 디스어셈블러만 허용하기 때문에 다른 수신 파이프라인에서 디스어셈블리를 수행해야 합니다. 이렇게 하려면 루프백 송신 포트 및 수신 위치가 필요합니다(아래 의 수신된 비 EDI 페이로드 처리 섹션 참조).

AS2를 통해 EDI가 아닌 교환을 받으려면 BizTalk Server 다음 단계를 수행합니다.

  • 수신한 AS2 메시지 처리

  • MDN 송신

  • 수신한 비-EDI 페이로드 처리

수신한 AS2 메시지 처리

AS2Receive 수신 파이프라인의 AS2 디코더에서 들어오는 AS2 메시지를 처리합니다. 이렇게 하려면 AS2 메시지의 InboundHTTPHeaders HTTP 헤더에서 HTTP 어댑터가 만드는 컨텍스트 속성을 사용합니다. 이러한 헤더에는 다음 AS2 헤더가 포함됩니다.

  • AS2-To

  • AS2-From

  • AS2-Version

  • MessageID

  • OriginalMessageID(MDN의 경우에만 해당)

  • Disposition-Notification-To(MDN이 요청된 경우)

  • Receipt-Delivery-Option(MDN이 요청된 경우)

  • Signed-Receipt-MICalg(MDN이 요청된 경우)

    AS2 디코더에서는 이러한 헤더를 메시지의 컨텍스트로 승격합니다. 그런 후 다음 작업을 수행합니다.

  • 들어오는 메시지를 처리하는 데 사용할 속성을 확인하기 위한 규약 확인을 수행합니다. 자세한 내용은 들어오는 AS2 메시지에 대한 규약 해결을 참조하세요.

  • AS2-From 및 AS2-To 속성을 사용하여 보낸 사람을 인증합니다.

    참고

    들어오는 AS2 메시지에서 AS2 수신 파이프라인이 수행하는 처리에 대한 자세한 내용은 들어오는 AS2 메시지 처리를 참조하세요.

MDN 송신

MDN을 사용하도록 설정한 경우 AS2Receive 파이프라인에서는 MDN을 생성한 후 MessageBox에 넣습니다. MDN이 원본 메시지의 보낸 사람에게 반환되는 방법은 AS2 전송이 동기식인지 비동기식인지에 따라 달라집니다.

참고

AS2 수신 파이프라인이 나가는 MDN에서 수행하는 처리에 대한 자세한 내용은 나가는 MDN 생성을 참조하세요.

동기 모드

비 EDI 메시지가 동기 모드에서 AS2를 통해 전송되는 경우 BizTalk Server 해당 동기 연결을 통해 MDN을 반환한 다음 연결을 닫습니다. MDN은 AS2Receive 파이프라인을 통해 생성되고 해당 파이프라인을 통해 MessageBox에 라우팅된 다음 요청 응답 수신 포트의 일부인 AS2Send 파이프라인을 통해 자동으로 수신됩니다.

비동기 모드

비-EDI 메시지가 비동기 모드에서 HTTP/HTTPS 전송을 통해 보내지는 경우에는 송신 포트를 만들어 MDN을 별도로 반환해야 합니다. 송신 포트가 동적 송신 포트인 경우 메시지 헤더의 Receipt-Delivery-Notification 줄에 있는 주소를 사용하여 메시지를 거래 업체로 라우팅합니다. 송신 포트가 정적 송신 포트인 경우에는 포트 속성에 정의된 주소를 사용합니다. 이 송신 포트는 필터 식을 사용하여 비동기 MDN을 EdiIntAS.IsAS2AsynchronousMDN==True 구독합니다. 비동기 처리 과정에서 AS2Receive 파이프라인은 MDN 외에도 HTTP 응답을 생성합니다. 수신 포트에서는 수신 포트와 송신 파티 사이의 HTTP 연결을 통해 원래의 보낸 사람에게 HTTP 응답을 반환하여 연결을 닫습니다. 이 단계는 동기 연결이 MDN에 의해 닫히지 않기 때문에 반드시 수행해야 합니다.

수신한 비-EDI 페이로드 처리

EDI에서 인코딩되지 않은 메시지가 AS2를 통해 수신되고 페이로드에서 디스어셈블리를 수행해야 한다면 AS2Receive 파이프라인이 아닌 다른 수신 파이프라인에서 수행해야 합니다. BizTalk Server 수신 파이프라인에서 하나의 디스어셈블러만 허용하기 때문에 이 작업이 필요합니다. 이 시나리오를 위해서는 송신 포트 및 수신 위치를 사용하는 루프백 메커니즘이 필요합니다. 1차 전달 시 EDIReceive 파이프라인은 AS2 메시지를 처리하고 해당 메시지를 네이티브 형식으로 MessageBox로 보냅니다. 2차 전달 시 수신 파이프라인은 메시지의 네이티브 형식에서 XML을 생성합니다.

BizTalk Server는 AS2 BizTalk Server를 통해 비-EDI 메시지에서 다음과 같은 수신 측 처리 작업을 수행합니다.

  • 양방향 요청 응답 수신 위치와 연결된 AS2Receive 수신 파이프라인에서 비-EDI 메시지의 AS2 헤더를 구문 분석한 다음 비-EDI 메시지를 BizTalk MessageBox로 라우팅합니다.

  • 루프백 송신 포트(FILE 또는 MSMQ)는 BizTalk 속성 IsAS2PayloadMessage == True에서 필터링되므로 MessageBox에서 EDI가 아닌 메시지를 선택합니다. 이 송신 포트와 연결된 PassThruTransmit 송신 파이프라인은 비-EDI 형식으로 메시지를 전달하고 메시지를 폴더 또는 MSMQ 큐로 라우팅합니다.

  • 루프백 수신 위치에서 메시지를 수신합니다. 루프백 수신 위치와 연결된 수신 파이프라인에서 비-EDI 메시지를 통해 XML 메시지를 생성한 다음 해당 메시지를 MessageBox로 라우팅합니다.

  • 메시지가 백 엔드 응용 프로그램으로 라우팅되면 송신 포트에서는 XML 메시지를 수신한 후 해당 응용 프로그램으로 라우팅합니다.

참고 항목

BizTalk Server에서 AS2 메시지를 받는 방법
AS2를 통해 나가는 EDI 메시지의 송신 쪽 처리