AS2를 통해 전송되는 메시지에 대한 수신 포트 구성
AS2 메시지를 EDI 또는 비 EDI 페이로드와 함께 수신하려면 메시지를 수신하고 파티에게 응답을 보낼 HTTP 수신 포트를 만듭니다.
MDN이 동기적으로 반환되는 경우 수신 포트는 양방향 요청-응답 수신 포트여야 합니다. 수신 포트의 수신 위치에서는 AS2 메시지를 수신하고 양방향 수신 포트와 연결된 송신 포트는 동기 MDN을 보냅니다.
MDN이 비동기식으로 반환되는 경우에는 별도의 동적 송신 포트를 통해 MDN을 반환해야 하기 때문에 수신 포트는 단방향 수신 포트여도 됩니다. HTTP 응답은 수신 포트(단방향 또는 양방향)에 의해 반환됩니다. 양방향 수신 포트에서 AS2 메시지를 수신하도록 설정한 경우 비동기 MDN을 반환하는 동안 양방향 수신 위치의 송신 포트를 통해 HTTP 응답이 반환됩니다.
참고
AS2 메시지를 수신하는 데 사용되는 양방향 수신 포트를 MDN 메시지를 수신하는 데 사용해서는 안 됩니다. MDN 메시지는 정적 단방향 수신 포트에서 수신되어야 합니다. MDN에 대해 요청/응답 수신 포트를 사용하면 들어오는 MDN에 대한 응답으로 200OK 메시지가 반환되지 않습니다. 따라서 MDN 전송이 불필요하게 다시 시도됩니다.
다음 구성을 사용하여 수신 포트를 만듭니다.
위치 | 속성 | 설정 |
---|---|---|
수신 포트 속성: 일반 | 포트 유형 | 요청-응답 |
수신 위치 속성: 일반 | 전송 형식 | HTTP 참고: HTTP 어댑터만 EDIINT/AS2로 인코딩된 메시지를 전송하는 데 사용할 수 있습니다. 이러한 전송은 HTTP 어댑터 이외의 어댑터에서는 작동하지 않습니다. |
수신 위치 속성: 일반 | 수신 핸들러 | BizTalkServerIsolatedHost |
수신 위치 속성: 일반 | 수신 파이프라인 | - AS2EdiReceive(페이로드가 EDI로 인코딩된 경우) - AS2Receive(페이로드가 EDI로 인코딩되지 않은 경우) 참고: AS2EdiReceive 파이프라인을 사용하는 경우 BizTalk 격리 호스트 인스턴스 프로세스가 실행 중인 사용자 계정을 BizTalk 애플리케이션 사용자 그룹에 추가해야 합니다. AS2EdiReceive 파이프라인은 BizTalk Isolated 호스트 인스턴스 프로세스에서 실행됩니다. AS2EdiReceive 파이프라인은 사용자가 BizTalk Server 애플리케이션 사용자 그룹에 있어야 하는 SSO 저장소에 액세스합니다. |
수신 위치 속성: 일반 | 송신 파이프라인 | AS2Send |
HTTP 전송 속성 | 가상 디렉터리 및 ISAPI 확장 | /<name of virtual directory>/BTSHTTPReceive.dll |
HTTP 전송 속성 | 요청-응답 반환 콘텐츠 유형 | text/xml |
동기 모드와 비동기 모드의 수신 위치 기능
양방향 수신 포트는 다음을 수행하여 EDI/AS2 메시지를 수신 및 처리하고 응답을 반환합니다.
HTTP를 통해 AS2 메시지를 받습니다.
AS2EDIReceive 수신 파이프라인(EDI로 인코딩된 메시지의 경우) 또는 AS2Receive 수신 파이프라인(EDI로 인코딩되지 않는 메시지의 경우)을 사용하여 AS2 메시지를 처리합니다. 이 프로세스에 대한 자세한 내용은 들어오는 AS2 메시지 처리를 참조하세요.
수신된 메시지에서 다음 컨텍스트 속성을 설정합니다.
IsAS2PayloadMessage == True
(페이로드 메시지이기 때문)IsEmptyMDNResponse == False
(빈 MDN이 아니기 때문)
메시지가 EDI로 인코딩되는 경우 EDI 파일을 디스어셈블하고 XML 파일을 생성하여 MessageBox에 넣습니다. 각 XML 파일의
BTS.MessageType
컨텍스트 속성을 네임스페이스가 있는 스키마 이름으로 설정합니다.메시지가 EDI로 인코딩되지 않는 경우 네이티브 형식의 메시지를 MessageBox에 넣습니다.
AS2EdiReceive 수신 파이프라인을 사용하여 MDN 파일(사용하는 경우)을 생성합니다. 이 프로세스에 대한 자세한 내용은 나가는 MDN 생성을 참조하세요. 메시지에서 다음 컨텍스트 속성을 설정합니다.
EdiIntAS.IsAS2AsynchronousMdn == False
(동기 모드인 경우)EdiIntAS.IsAS2AsynchronousMdn== True
(비동기 모드인 경우)
동기 모드에서는 AS2Send 송신 파이프라인을 사용하여 MDN 파일(사용하는 경우)을 보냅니다. 이 프로세스에 대한 자세한 내용은 나가는 MDN 보내기를 참조하세요.
비동기 모드에서는 MDN 파일(사용하는 경우)을 MessageBox에 라우트합니다. 그러면 별도의 동적 송신 포트에서 MDN 파일을 선택하여 보냅니다.
비동기 모드에서는 비동기식으로 반환되는 전체 MDN과 함께 빈 MDN을 생성합니다. 메시지에서 다음 컨텍스트 속성을 설정합니다.
IsAS2PayloadMessage == False
IsEmptyMDNResponse == True
비동기 모드에서는 수신 포트와 송신 파티 사이의 HTTP 연결을 통해 원래의 보낸 사람에게 HTTP 응답을 반환하여 연결을 닫습니다. 이 단계는 동기 연결이 전체 MDN에 의해 닫히지 않기 때문에 수행해야 합니다.
확인 메시지(사용하는 경우)를 생성하여 MessageBox에 넣습니다. 의 컨텍스트 속성을
BTS.MessageType
승인 컨트롤 스키마로 설정합니다.