다음을 통해 공유


자습서 3: AS2 자습서

이 자습서에서는 HTTP 전송을 통해 EDIINT/AS2 인코딩 메시지를 주고받는 솔루션을 설정합니다.

자습서 솔루션 사용 방법

이 솔루션은 다음을 수행합니다.

  • 파트너(Fabrikam)로부터 AS2 메시지 받기

  • 파트너에게 비동기식으로 MDN 응답 반환

  • AS2 메시지의 EDI 페이로드 처리

  • AS2를 통해 파트너(Fabrikam)에게 997 확인 반환

  • 홈 조직(Contoso)의 백 엔드 응용 프로그램에 EDI 메시지 페이로드를 포함하는 XML 파일 라우트

    참고

    이 솔루션은 AS2 메시지 보안을 돕기 위한 서명 또는 암호화를 사용하지 않습니다.

    자습서 구성 요소

    이 솔루션은 다음을 사용합니다.

  • 보낸 사람 (/Contoso/BTSHTTPReceive.dll)으로부터 AS2/EDI 메시지를 수신하는 BTS Http 수신 ISAPI 필터입니다.

  • 997 승인 및 MDN(http://localhost/Fabrikam/Default.aspx)을 반환하여 파트너를 시뮬레이션하는 ASPX 웹 페이지입니다.

  • 864 스키마 및 기타 스키마(Schemas.btproj)를 배포하는 데 사용할 프로젝트 파일입니다.

  • EDI 파일(Receive_AS2)을 수신하는 단방향 HTTP 수신 위치입니다. 이 수신 위치에서는 AS2 디코더 및 EDI 디스어셈블러를 포함하는 기본 AS2EdiReceive 파이프라인을 사용합니다.

  • 비동기 MDN(Send_Async_MDN)을 반환하는 동적 HTTP 송신 포트입니다. 이 송신 포트는 AS2 인코더를 포함하는 AS2Send 파이프라인을 사용합니다.

  • XML 파일의 EDI 페이로드를 백 엔드 폴더(Send_Payload_EdiXml)로 라우팅하는 정적 단방향 FILE 송신 포트입니다. 이 송신 포트는 PassThruTransmit 송신 파이프라인을 사용합니다.

  • AS2(Send_Async_997)를 통해 파트너에게 997 승인을 반환하는 정적 단방향 HTTP 송신 포트입니다. 이 송신 포트는 AS2 인코더를 포함하는 AS2Send 파이프라인을 사용하지만 EDI 어셈블러에는 필요하지 않습니다.

  • Fabrikam 파트너에서 BizTalk(Sender.csproj)로 EDI 파일을 보내는 애플리케이션을 빌드하는 데 사용할 프로젝트 파일입니다.

    메시지 흐름

    완료된 솔루션의 메시지 흐름은 다음 그림과 같습니다.

    AS2 자습서 메시지 흐름

    자습서 구성 요소는 메시지를 다음과 같이 처리합니다.

  1. sender.exe 애플리케이션을 사용하여 파트너 Fabrikam의 원래 EDI/AS2 메시지를 BizTalk Server 컴퓨터로 보냅니다. Sender.exe는 EDI/AS2 메시지를 Contoso 가상 디렉터리로 보냅니다.

    참고

    이 목록의 이벤트가 표시된 순서대로 발생하지 않을 수도 있습니다.

    텍스트 메시지는 \Program Files\Microsoft BizTalk Server 20xx\SDK\AS2 Tutorial의 X12_00401_864.edi에 있습니다.

  2. Receive_AS2 단방향 수신 위치는 BTSHTTPReceive.dll ISAPI 확장자를 사용하여 Contoso 가상 디렉터리에서 파일을 선택하여 Fabrikam에서 EDI 메시지를 받습니다. 수신 파이프라인은 AS2 메시지를 디코딩하고, EDI 교환을 디스어셈블한 다음 메시지 XML을 MessageBox에 넣습니다.

  3. 수신 파이프라인은 AS2 메시지에 대한 MDN을 생성합니다. MDN은 비동기적으로 설정되기 때문에 수신 파이프라인은 MDN을 MessageBox에 넣습니다.

  4. 수신 파이프라인은 EDI 교환에 대한 응답으로 997 확인을 생성하고 997을 MessageBox에 넣습니다.

  5. Send_Payload_EdiXml 정적 단방향 송신 포트는 MessageBox에서 EDI 페이로드를 선택하고 BTS를 필터링합니다. MessageType 컨텍스트 속성입니다.

  6. 페이로드 송신 포트는 EDI 페이로드를 포함하는 XML 파일을 \_EDIXMLToContoso 폴더에 표시된 백 엔드 Contoso 응용 프로그램으로 보냅니다. 이 송신 포트는 PassThruTransmit 송신 파이프라인을 사용합니다.

  7. Send_Async_MDN 동적 송신 포트는 MessageBox에서 비동기 MDN을 선택하고 EdiIntAS.IsAS2AsynchronousMdn 컨텍스트 속성을 필터링합니다.

  8. MDN 송신 포트는 MDN을 \_MDNToFabrikam 폴더에 반환합니다. 동적 송신 포트이므로 메시지의 헤더(http://localhost/Fabrikam/Default.aspx?Destination=_MDNToFabrikam)에 있는 Receipt-Delivery-Option 줄의 주소를 사용하여 메시지를 \_MDNToFabrikam 폴더로 라우팅합니다.

  9. Send_Async_997 송신 포트는 MessageBox에서 997을 선택하여 BTS를 필터링합니다. MessageType 컨텍스트 속성입니다.

  10. 997 송신 포트는 HTTP 전송을 사용하여 EdiReceive 수신 파이프라인에서 생성한 997 메시지를 \_997ToFabrikam 폴더로 보냅니다. 송신 포트는 URI http://localhost/Fabrikam/Default.aspx?Destination=_997ToFabrikam를 사용하여 Fabrikam default.aspx 페이지로 메시지를 보냅니다. 그런 다음 default.aspx 페이지에서는 997을 \_997ToFabrikam 폴더로 보냅니다.

    이 자습서를 사용하려면 다음에 대해 알고 있어야 합니다.

  • BizTalk Server 파이프라인 및 파이프라인 구성 요소

  • HTTP 어댑터

  • 수신 포트 및 위치

  • 송신 포트

섹션 내용

참고 항목

BizTalk Server 자습서