送信 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 が受信するまでメッセージを再送信します。