BTARN 수신 파이프라인
Microsoft BizTalk Accelerator for RosettaNet(BTARN)은 RNIFReceive 파이프라인(RNIFReceive.btp)을 사용하여 RNIF(RosettaNet 구현 프레임워크) 메시지 수신을 수행합니다. 수신 파이프라인에는 다음 구성 요소가 포함됩니다.
ReceiveMessageNonRepudiate
RNMimeDecoder(MIME 전처리기/디코더)
RNDAsm(XML 디스어셈블러)
RNPartyRes(Party Resolution 구성 요소)
MessageUpdater
ReceiveMessageNonRepudiate
이 구성 요소는 받은 메시지를 MessageStorageIn 테이블에 저장합니다. 이 구성 요소는 RNIF 표준에 필요한 부인하지 않는 처리를 수행합니다.
RNMimeDecoder
이 구성 요소는 네이티브 BizTalk Server MIME 전처리기/디코더를 기반으로 합니다. RNMimeDecoder는 RNIF 처리를 위해 다음 기능을 추가합니다.
RNIF 2.01의 경우 서비스 콘텐츠 및 첨부 파일이 있는 경우 암호를 해독합니다.
RNIF 1.1의 경우 페이로드 끝에 있는 8 바이트 헤더와 분리된 서명 헤더를 처리합니다.
네이티브 BizTalk Server 전처리기/디코더에 대한 자세한 내용은 BizTalk Server 도움말의 "MIME/SMIME 디코더 파이프라인 구성 요소"를 참조하세요.
RNDAsm
이 구성 요소는 네이티브 BizTalk Server XML 디스어셈블러를 기반으로 합니다. RNDAsm은 RNIF 처리를 위해 다음 기능을 추가합니다.
들어오는 문서에 DOCTYPE 헤더가 있는 경우 이 구성 요소는 해당 문서에서 네임스페이스를 생성하고 들어오는 문서의 모든 노드를 해당 네임스페이스로 이동합니다.
메시지 상관 관계를 수행하여 들어오는 메시지가 중복인지 여부를 확인하고 메시지가 중복된 경우 오류 메시지를 생성합니다.
첨부 파일을 메시지의 추가 부분으로 저장합니다.
메시지 속성을 승격합니다.
네이티브 BizTalk Server 디스어셈블러에 대한 자세한 내용은 BizTalk Server 도움말의 "XML 디스어셈블러 파이프라인 구성 요소"를 참조하세요.
RNPartyRes
이 구성 요소는 네이티브 BizTalk Server 파티 확인 구성 요소를 기반으로 합니다. RNPartyRes는 RNIF 처리를 위해 다음 기능을 추가합니다.
들어오는 메시지가 BizTalk 파티에 서명된 경우 보낸 사람 인증서를 매핑합니다. 들어오는 메시지가 서명되지 않고 거래 업체 계약이 허용하는 경우 이 구성 요소는 RNIF 2.01의 배달 헤더 또는 RNIF 1.1의 서비스 헤더에서 보낸 사람 파티를 검색합니다.
발신자가 존재하고 보낸 사람에게 홈 organization 거래 업체 계약이 있는지 확인합니다.
네이티브 BizTalk Server 파티 확인 구성 요소에 대한 자세한 내용은 BizTalk Server 도움말의 "파티 확인 파이프라인 구성 요소"를 참조하세요.
MessageUpdater
이 구성 요소는 RNIF 처리를 위해 다음 기능을 추가합니다.
ReceiveMessageNonRepudiate 구성 요소에 의해 저장된 유선 메시지의 PIP 코드, PIP 버전, 원본 파티, 대상 파티 및 메시지 추적 ID에 대한 세부 정보가 포함된 MessageStorageIn 테이블을 업데이트.
PIP에 부인할 필요가 없는 경우 를 설정
ToBePurged = True
하여 삭제할 레코드를 표시합니다.
메시지 흐름
BTARN 수신 파이프라인을 통한 메시지 흐름은 다음과 같습니다.
HTTP 어댑터는 HTTP POST를 통해 RNIF 1.1 개체 또는 RNIF 2.01 비즈니스 메시지를 받습니다.
어댑터가 메시지를 성공적으로 받으면 어댑터는 RosettaNet 개체 또는 비즈니스 메시지를 추출하고 수신 파이프라인으로 라우팅합니다.
개체 또는 비즈니스 메시지에 서명하면 MIME 전처리기/디코더가 서명을 제거합니다.
서명이 유효한 경우 디스어셈블러는 프리앰블을 읽습니다.
메시지가 작업 메시지이고 거부하지 않는 것이 필요한 경우(프로세스 구성 설정 의 원본 및 콘텐츠 거부 방지 설정)
True
는 디코더가 다이제스트를 계산하고 유지합니다.디스어셈블러는 프리앰블(메시지(MSG) 지침 및 전역 변수의 프리앰블 스키마)의 유효성을 검사합니다.
RNIF 2.01의 경우 디스어셈블러는 배달 헤더를 읽고 전역 변수의 MSG 지침 및 배달 헤더 스키마를 사용하여 헤더의 유효성을 검사합니다.
RNIF 2.01의 경우 디스어셈블러는 배달 헤더에서 파트너 정보를 추출하고 서명을 검사하여 파트너에 속하는지 확인합니다.
RNIF 2.01의 경우 페이로드가 암호화되면 디코더는 페이로드 컨테이너의 암호를 해독합니다.
디스어셈블러는 서비스 헤더를 읽고 MSG 지침 및 전역 변수의 서비스 헤더 스키마를 사용하여 헤더의 유효성을 검사합니다.
RNIF 1.1의 경우 디스어셈블러는 서비스 헤더에서 파트너 정보를 추출하고 서명을 검사하여 파트너에 속하는지 확인합니다.
디스어셈블러는 파트너가 PIP에 대한 권한이 있는지 여부를 확인합니다. 그렇지 않은 경우 디스어셈블러는 HTTP 403 상태 메시지를 사용하여 HTTP POST에 회신하고 필요한 경우 오류를 게시합니다.
메시지가 서명된 작업 메시지이고 원본 및 콘텐츠의 거부 가 아닌 메시지로 설정된
True
경우 ReceiveMessageNonRepudiate 구성 요소는 MessageStorageIn 테이블에 원래 메시지를 유지합니다.메시지가 서명된 신호 메시지이고 거부 안 함 필수 가 로 설정된
True
경우 ReceiveMessageNonRepudiate 구성 요소는 MessageStorageIn 테이블에 신호 메시지를 유지합니다.메시지가 거부되지 않는 경우 MessageStorageIn 테이블에 유지된 경우 MessageUpdater는 메시지 프로세스 구성의 속성으로 MessageStorageIn 테이블을 업데이트합니다.
메시지가 이전에 처리된 작업 메시지와 중복된 작업 메시지인 경우 BTARN은 오류를 게시합니다.
RNIF 2.01의 경우 동작 메시지가 암호화되고 HTTP 동시성과 PIP 동시성 요구 사항 간에 일치하는 경우 디코더가 페이로드의 암호를 해독합니다.
디스어셈블러는 서비스 콘텐츠를 읽고 MSG 지침 및 스키마를 사용하여 유효성을 검사합니다.
RNIF 2.01의 경우 디스어셈블러는 매니페스트가 유효하고 콘텐츠 ID가 있는지 확인합니다.
RNIF 2.01의 경우 디스어셈블러는 첨부 파일을 읽습니다.
BTARN은 RosettaNet 헤더, 서비스 콘텐츠 및 첨부 파일을 공개 프로세스로 라우팅합니다.