BTARN 受信パイプライン
Microsoft BizTalk Accelerator for RosettaNet (BTARN) は、RNIFReceive パイプライン (RNIFReceive.btp) を使用して RosettaNet Implementation Framework (RNIF) メッセージ受信を実行します。 受信パイプラインには、以下のコンポーネントが含まれます。
ReceiveMessageNonRepudiate
RNMimeDecoder (MIME プリプロセッサ/デコーダー)
RNDAsm (XML 逆アセンブラ)
RNPartyRes (Party Resolution コンポーネント)
MessageUpdater
ReceiveMessageNonRepudiate
このコンポーネントは、受信メッセージを MessageStorageIn テーブルに保存します。 このコンポーネントは、RNIF 規格に必要な否認不可処理を実行します。
RNMimeDecoder
このコンポーネントは、ネイティブ BizTalk Server MIME プリプロセッサ/デコーダーに基づいています。 RNMimeDecoder は、RNIF 処理のための以下の機能を備えています。
RNIF 2.01 の場合、Service Content と添付ファイル (存在する場合) を暗号化解除します。
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 については Delivery ヘッダーから、RNIF 1.1 については Service ヘッダーから送信者のパーティを取得します。
送信者が存在し、送信者がホーム組織との取引先アグリーメントを持っているかどうかを検証します。
ネイティブ BizTalk Server パーティ解決コンポーネントの詳細については、BizTalk Server ヘルプの「パーティ解決パイプライン コンポーネント」を参照してください。
MessageUpdater
このコンポーネントは、RNIF 処理のための以下の機能を備えています。
PIP コード、PIP バージョン、送信元パーティ、送信先パーティ、ReceiveMessageNonRepudiate コンポーネントによって保存されたワイヤ メッセージの Message Tracking ID の詳細情報を使用して MessageStorageIn テーブルを更新します。
PIP で否認を必要としない場合は、 を設定して、レコードに削除のマークを付けます
ToBePurged = True
。
メッセージ フロー
BTARN 受信パイプラインを介したメッセージ フローは次のとおりです。
HTTP アダプターは HTTP POST を使用して RNIF 1.1 オブジェクトまたは RNIF 2.01 ビジネス メッセージを受信します。
メッセージを正常に受信すると、アダプターは RosettaNet オブジェクトまたはビジネス メッセージを抽出し、受信パイプラインにルーティングします。
オブジェクトまたはビジネス メッセージに署名がある場合、MIME プリプロセッサ/デコーダーが署名を削除します。
署名が有効な場合、逆アセンブラーは Preamble を読み取ります。
メッセージがアクション メッセージで、否認不可が必要な場合 (プロセス構成設定 の [配信元とコンテンツの否認不可 ] 設定) は
True
、デコーダーによってダイジェストが計算され、保持されます。逆アセンブラーは、メッセージ (MSG) ガイドラインとグローバル変数の Preamble スキーマを使用して Preamble を検証します。
RNIF 2.01 では、逆アセンブラーは Delivery Header を読み取り、メッセージ ガイドラインとグローバル変数の Delivery Header スキーマを使用してヘッダーを検証します。
RNIF 2.01 では、逆アセンブラーは Delivery Header からパートナー情報を抽出し、署名がパートナーに属しているかどうかを検証します。
RNIF 2.01 でペイロードが暗号化されている場合、デコーダーによってペイロード コンテナーの暗号化が解除されます。
逆アセンブラーは Service Header を読み取り、MSG ガイドラインとグローバル変数の Service Header スキーマを使用してヘッダーを検証します。
RNIF 1.1 では、逆アセンブラーは Service Header からパートナー情報を抽出し、署名がパートナーに属しているかどうかを検証します。
逆アセンブラーは、パートナーが PIP に承認されているかどうかを確認します。 承認されていない場合、逆アセンブラーは HTTP POST に HTTP 403 ステータス メッセージを返し、必要に応じてエラーを送信します。
メッセージが署名済みアクション メッセージで、 配信元の否認不可とコンテンツ が に
True
設定されている場合、ReceiveMessageNonRepudiate コンポーネントは MessageStorageIn テーブルに元のメッセージを保持します。メッセージが署名付きシグナル メッセージで、 否認不可が [必須] が に
True
設定されている場合、ReceiveMessageNonRepudiate コンポーネントは MessageStorageIn テーブルにシグナル メッセージを保持します。メッセージが否認不可の MessageStorageIn テーブルに保存されている場合、MessageUpdater はメッセージのプロセス構成のプロパティを使用して MessageStorageIn テーブルを更新します。
メッセージが、以前に処理されたアクション メッセージと重複するアクション メッセージである場合、BTARN はエラーを投稿します。
RNIF 2.01 では、アクション メッセージが暗号化され、HTTP 同期と PIP 同期の要件が一致している場合、デコーダーによってペイロードの暗号化が解除されます。
逆アセンブラーは Service Content を読み取り、MSG ガイドラインとスキーマを使用して検証します。
RNIF 2.01 では、マニフェストが有効でコンテンツ ID が存在することが逆アセンブラーによって検証されます。
RNIF 2.01 では、逆アセンブラーはすべての添付ファイルを読み取ります。
BTARN は、RosettaNet ヘッダー、サービス コンテンツ、および添付ファイルをパブリック プロセスにルーティングします。