次の方法で共有


送信 AS2 メッセージの生成

AS2EDISend および AS2Send の各送信パイプラインは、次に示すように送信メッセージを生成します。 各パイプラインでは、[契約のプロパティ] ダイアログ ボックスの [一方向アグリーメント] タブにある プロパティ を使用して、送信 AS2 メッセージを生成します。

アグリーメント、送信先、および MessageID の決定

AS2 メッセージの送信に使用されるアグリーメントおよび送信先は、AS2 送信パイプラインによって次のように決定されます。

  • 送信メッセージの処理に使用するアグリーメントを決定する場合、AS2 エンコーダーは、メッセージ内の AS2-To プロパティとパーティのビジネス プロファイルの AS2Identity の照合、またはメッセージをサブスクライブしている送信ポートアグリーメントに関連付けられた送信ポートの照合を行います。 このプロセスの詳細については、「 送信 AS2 メッセージの契約解決」を参照してください。

  • メッセージの送信先を決定する場合、動的送信ポート内の送信パイプラインは、OutboundTransportLocation プロパティを使用します。このプロパティを使用するには、動的送信ポートのバックエンド アプリケーションを使用してコンテキストに書き込むか、コンテキストに昇格させる必要があります。 静的送信パイプライン内の送信パイプラインは、AS2 アグリーメント プロパティ内の AS2-From プロパティ、およびビジネス プロファイル プロパティの ID から送信先を決定します。

  • AS2 エンコーダーは、送信 AS2 メッセージの MessageId ヘッダーを設定する必要があります。 送信パイプラインは、コンテキスト プロパティまたはコンテキスト プロパティのいずれか EdiIntAS.MessageId から MessageId を HTTP.UserHttpHeaders 決定します。 これらのコンテキスト プロパティの両方が設定されている場合、エンコーダーは context プロパティの値を HTTP.UserHttpHeaders 使用します。 どちらのコンテキスト プロパティも設定されていない場合は、送信パイプラインが MessageID の値を自動生成します。

送信メッセージの処理

AS2 送信パイプラインは、次の手順により送信 AS2 メッセージを処理します。

  • ネイティブ形式のメッセージのコピーを作成し、否認不可データベースに保存します (AS2 メッセージの否認不可がアグリーメント プロパティで有効になっている場合)。

  • AS2 エンコーダーは、HTTP (および AS2) ヘッダーをコンテキスト プロパティに HTTP.UserHttpHeaders ビルドします。 このプロセスの詳細については、「 AS2 経由の送信 EDI メッセージの送信側処理」を参照してください。

  • HTTP.UserHttpHeadersコンテキストに書き込みます。

  • 送信メッセージを圧縮します (有効になっている場合)。

  • メッセージの暗号化 (メッセージが暗号化された契約プロパティで有効になっている場合) やデジタル署名の適用 ( Message で有効になっている場合は 署名済みの 契約プロパティである必要があります) など、MIME 処理を実行します。 AS2Send パイプラインは、SHA1 または MD5 を使用してアグリーメント設定に基づき署名を適用します。

  • 指定された値を含む Content-Disposition MIME ヘッダーを作成します (送信ファイル名がアグリーメント プロパティで有効になっている場合)。

  • 暗号化されたメッセージのコピーを (ワイヤー形式で) 作成し、アグリーメント プロパティの 送信エンコードされた AS2 メッセージに対して有効な NRR で有効になっている 場合は、否認不可データベースにコピーを格納します。

  • MDN が必要な場合は、MIC 値を計算してデータ ストアに保存します。

  • メッセージを HTTP アダプターに配信します。HTTP アダプターは、UserHTTPHeaders コンテキスト プロパティから送信 AS2 メッセージにヘッダーを書き込みます。

  • 信頼できるメッセージ処理が必要な場合は、MDN が受信するまでメッセージを再送信します。

参照

BizTalk Server が AS2 メッセージを送信する方法
AS2 送信コンポーネント