이 자습서에서는 HTTP 전송을 통해 EDIINT/AS2로 인코딩된 메시지를 수신하고 보내는 솔루션을 설정합니다.
자습서 솔루션의 작동 방식
솔루션은 다음을 수행합니다.
파트너로부터 AS2 메시지 받기(Fabrikam)
파트너에게 MDN 응답을 비동기적으로 반환합니다.
AS2 메시지의 EDI 페이로드 처리
파트너(Fabrikam)에게 AS2를 통해 997 승인을 반환하세요.
EDI 메시지의 페이로드가 포함된 XML 파일을 홈 조직의 백 엔드 애플리케이션(Contoso)으로 라우팅합니다.
비고
이 솔루션은 AS2 메시지의 보안을 보장하기 위해 서명 또는 암호화를 사용하지 않습니다.
자습서 구성 요소
이 솔루션은 다음을 사용합니다.
AS2/EDI 메시지를 발신자 (/Contoso/BTSHTTPReceive.dll)로부터 수신하기 위한 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 인코더를 포함하지만 EDI 어셈블러가 필요하지 않은 AS2Send 파이프라인을 사용합니다.
Fabrikam 파트너에서 BizTalk(Sender.csproj)로 EDI 파일을 보내는 애플리케이션을 빌드하는 데 사용할 프로젝트 파일입니다.
메시지 흐름
완료된 솔루션의 메시지 흐름은 다음 그림과 같습니다.
자습서 구성 요소는 다음과 같이 메시지를 처리합니다.
sender.exe 애플리케이션을 사용하여 파트너 Fabrikam에서 BizTalk Server 컴퓨터로 원래 EDI/AS2 메시지를 보냅니다. Sender.exe Contoso 가상 디렉터리에 EDI/AS2 메시지를 보냅니다.
비고
이 목록의 이벤트는 표시된 순서대로 발생하지 않을 수 있습니다.
테스트 메시지는 \Program Files\Microsoft BizTalk Server 20xx\SDK\AS2 자습서의 X12_00401_864.edi입니다.
Receive_AS2 단방향 수신 위치는 Fabrikam에서 EDI 메시지를 받아, Contoso 가상 디렉토리에서 파일을 가져오기 위해 BTSHTTPReceive.dll ISAPI 확장을 사용합니다. 수신 파이프라인은 AS2 메시지를 디코딩하고 EDI 교환을 디스어셈블한 다음 메시지 XML을 MessageBox에 삭제합니다.
수신 파이프라인은 AS2 메시지에 대한 MDN을 생성하고 MDN이 비동기 상태로 설정되므로 수신 파이프라인은 MDN을 MessageBox에 삭제합니다.
수신 파이프라인은 EDI 교환에 대한 응답으로 997 승인을 생성하고 997을 MessageBox에 넣습니다.
Send_Payload_EdiXml 정적 단방향 송신 포트는 MessageBox에서 EDI 페이로드를 선택하고 BTS.MessageType 컨텍스트 속성을 기반으로 필터링합니다.
페이로드 송신 포트는 EDI 페이로드가 포함된 XML 파일을 \_EDIXMLToContoso 폴더로 표시되는 백 엔드 Contoso 애플리케이션으로 보냅니다. 이 송신 포트는 PassThruTransmit 송신 파이프라인을 사용합니다.
Send_Async_MDN 동적 송신 포트는 MessageBox에서 비동기 MDN을 선택하고 EdiIntAS.IsAS2AsynchronousMdn 컨텍스트 속성을 필터링합니다.
MDN 송신 포트는 \_MDNToFabrikam 폴더에 MDN을 반환합니다. 동적 송신 포트이므로 메시지()의 헤더에 있는 Receipt-Delivery-Option 줄의 주소를 사용하여 메시지를http://localhost/Fabrikam/Default.aspx?Destination=_MDNToFabrikam \_MDNToFabrikam 폴더로 라우팅합니다.
Send_Async_997 송신 포트는 BTS.MessageType 컨텍스트 속성으로 필터링하여 MessageBox에서 997을 선택합니다.
997 송신 포트는 HTTP 전송을 사용하여 EdiReceive 수신 파이프라인에서 생성된 997 메시지를 \_997ToFabrikam 폴더로 보냅니다. 송신 포트는 URI http://localhost/Fabrikam/Default.aspx?Destination=_997ToFabrikam를 사용하여 Fabrikam default.aspx 페이지로 메시지를 보냅니다. 그런 다음 default.aspx 페이지에서 997을 \_997ToFabrikam 폴더로 보냅니다.
이 자습서를 수행하려면 다음에 대해 알아야 합니다.
BizTalk Server 파이프라인 및 파이프라인 구성 요소
HTTP 어댑터
수신 포트 및 위치
송신 포트