AS2 メッセージの受信

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  AS2 との統合 >

AS2 メッセージの受信

FlowForce Server を使用して、期間のパートナーから AS2 サービスを受け取り、このデータを処理し、ローカルな場所に保存することができます。 一般的には、このようなジョブは FlowForce ジョブと同じような性質を共有し、更に次の追加機能を提供します:

 

ジョブ構成ページから直接、リクエストをリッスンする AS2 サービスを作成することができます。
下記のとおり、 2つの定義済みのパラメーターを受信する AS2 データは、 パートナーメッセージ を取ります。これらのパラメーターは送信元のパートナーと受信されるメッセージに関する情報を提供します。

 

ジョブを AS2 サービスとして公開することは、ジョブを Web サービスとして公開する方法とほぼ同じです。次も参照してください: ジョブを Web サービスとして公開。 具体的には、 AS2 サービス URL は以下のフォーマットのようになります http(s)://<flowforce-server>:<port>/service/<as2-service-name>:

 

<http(s)> は HTTP または HTTPS を選択することのできるプロトコールを参照し、 プロトコール(これらは FlowForce Server セットアップページで構成することができます、次を参照してください: ネットワーク設定の定義)
<flowforce-server> は FlowForce Server が作動するマシンのホスト名、または、 IP アドレスです。
<port> はポート名です (デフォルトでは、 4646)。 HTTP と HTTPS はセットアップページ 「FlowForce Server」 セクションで構成されているとおり異なるポート番号を持津ことに注意してください。次を参照してください: ネットワーク設定の定義
service—この URL パートは常に同じで変更することはできません。
<as2-service-name> AS2 サービスに与えるカスタム名です。 この URL の部分をジョブを作成する際に定義することができます。

 

必要に応じて、FlowForce Server を構成して、認証されていないクライアントからのリクエストを受け入れることができます、または、クライアントから基本的な HTTP 認証をリクエストすることもできます (従って、サービスを公開することができます)。AS2 サービスを認証無しにアクセス可能にするには、ユーザー useranonymous が次のパーミッションを持つ FlowForce Server コンテナー内で AS2 サービスジョブを作成します。 次のパーミッション: 「サービス: 使用」。 コンテナーとパーミッションの詳細に関しては、次を参照してください: パーミッションとコンテナー。このような構成のサンプルに関しては、次を参照してください: サンプル: フル AS2 メッセージの交換 (シンプル)

 

必要条件

AS2 データをパートナーから受信する前に、次の必要条件を満たす必要があります:

 

データを受け取る各パートナーの詳細は、 FlowForce Server に追加される必要があります。次を参照してください: AS2 パートナーの構成.
「FlowForce Server」 サービスは上記のとおり、目的 URL 上のリモートクライアントからの接続を受け入れる必要があります。

 

デフォルトでは、 FlowForce Server はポート 4646 上の ローカルホスト からの接続を受け入れます。ローカルホスト以外のマシンから AS2 サービスにアクセスを可能にするには、セットアップページを開き、 FlowForce Server のバインドアドレスを、すべてのインターフェイス (0.0.0.0) に、または、特定のインターフェイスに変更してください。次を参照してください: ネットワーク設定の定義. 更に、FlowForce Server との通信がオペレーティングシステムのファイアウォールを介して、可能なことを確認してくださ、。

 

メモ:「FlowForce Server」 サービスを 「FlowForce Web Server」 サービス特別してください。後者は Web 管理者インターフェイスにアクセスするために使用され、ポート 8082 上での接続を受け入れ、個別の構成を有します。次も参照してください: しくみ

 

AS2 サービスの作成方法

このサンプルは、 AS2 サービスを公開するジョブの作成方法について説明しています。 最初に、FlowForce Web 管理者インターフェイスにログオンします (次を参照してください: FlowForce Server へログオンする方法)。デフォルトの public コンテナー内に AS2 サービスを作成することができます。 個別のコンテナーを作成することは良案です (このサービスが個別のパーミッションを必要とする可能性があるため)。 構成 をクリックし、「作成 | コンテナーの作成」をクリックします。

ff_as2_service_01

コンテナー名 (例えば、 「as2service」) を入力し、「保存して移動」をクリックします。  次に、「作成 | ジョブの作成」 をクリックします。ジョブ構成ページが開かれます:

ff_as2_service_02

このジョブを AS2 サービスにするには、チェックボックス 「このジョブを利用可能にする」 を選択し、サービスの名前を入力します (例えば、 「as2-receiver」)。 更に、 AS2 サービス をドロップダウンリストから選択します。

ff_as2_ex1-09

2つの新規のパラメーターが自動的にジョブに追加されます:

ff_as2_ex1-10

パラメーター

目的

partner

このパラメーターは、メッセージを送信する AS2 パートナーについての情報を提供します。 パラメーターデータ型は 「AS2 パートナー」です。このオブジェクトを次のステップにて処理することができ、 FlowForce 式関数 as2-partner-local-name または as2-partner-remote-name を使用してパートナーのローカル、または、リモートの名前を文字列として取得することができます。

message

このパラメーターは、受信するメッセージへのアクセスを提供します。メッセージのデータ型は、 「stream」 です。 下記のとおり、 FlowForce 式関数を使用してファイルへのストリームを変換することができます。

 

メモ:定義済みのパラメーター partnermessage を削除してはなりません。次のステップ内で定義済みのパラメーターを使用しない場合、これらを無視することができ、ジョブが無効になることはありません。受信されるメッセージは通常何らかの方法で処理されます  (例えば、ファイルに保存するなど)。 下記のとおり、これを FlowForce 式関数、具体的には、 MIME 式関数、を使用しておこなうことができます。一部の場合、追加パラメーターをジョブに追加する必要がある場合があります  (例えば、複数のステップ全体で再利用するために定数の値の一部を定義する場合など) これを行う場合、パラメーターがデフォルトの値を持つことを確認してください。それ以外の場合、 AS2 メッセージが受信されるとジョブが開始されず、エラーメッセージがログされます

 

AS2 データを受け入れるようにジョブが構成されましたが、データの処理はまだ行われません。ストリームからメッセージコンテンツを読み取り、ファイルに保存するには、新規の実行ステップをジョブに追加する必要があります。 新規の実行ステップ をクリックして、 /system/filesystem/copy 関数。を参照し、ソースターゲット パラメーターを下記のとおり入力します:

ff_as2_ex1-11

上の実行ステップは /system/filesystem/copy 関数を呼び出し、ソース から ターゲット へデータをコピーします。ソース は FlowForce 式です。 このサンプルでは、式

 

{as-file(message)}

 

は、以前に説明されたメッセージパラメーターを読み取り、 as-file 式関数を使用してファイル名に変換します。

 

 

{substring(current-message-id(), 1, -1)}

 

以下を行います:

 

1.current-message-id を使用して the message-ID ヘッダーフィールドの値を文字列として取得します。 例えば、 通常 Message-ID は以下のようになります <20180309125433018954-56c8aeb2fb4b478eb02f6f57662607da@somehostname>.
2.substring 式関数を使用して結果文字列の最初と最後の文字を取り除きます。これにより Message-ID は次のようになります 20180309125433018954-56c8aeb2fb4b478eb02f6f57662607da@somehostname (山かっこ "<" and ">" が取り除かれていることに注意してください)。

 

最後に、文字列 「.msg」 が式に追加され、これにより FlowForce が受信される AS2 メッセージを保存する場所にパスが作成されます。作業ディレクトリ C:\temp にパスが作成されることに注意してください。基本的には、AS2 メッセージが http://<flowforce-server>:<port>/service/as2-receiver に送信されると、このジョブはメッセージコンテンツを読み取り、次のようなパスに保存します C:\temp\20180309125433018954-56c8aeb2fb4b478eb02f6f57662607da@somehostname.msg

 

コメント:

 

「上書き」 チェックが選択されていない場合、 同じ メッセージ ID が2回受信されると、ジョブはエラーを返すことを意味します。
「エラーが発生すると中断」 設定が有効化されている場合、関数のコピーが失敗するとジョブが失敗することを意味します。 失敗したジョブにより、 FlowForce はネガティブな MDN をパートナーに送信します。 この場合、 このオプションは内部で有効化されます。

 

AS2 リクエストをリッスンする基本的な AS2 サービスを作成し、受信される AS2 サービスをローカルに保管します。この AS2 サービスがクライアントにより使用される方法に関してのサンプルに関しては: サンプル: フル AS2 メッセージの交換 (シンプル)

 

実際のシナリオでは、更に高度な処理のために、ジョブに更なる実行ステップを追加する必要があり、 FlowForce 内で他の式関数を使用する必要があります。実行ステップ内で呼び出すことのできる FlowForce 関数に関するレファレンスに関しては、次を参照してください: ビルトイン関数。 FlowForce 式の基本的な紹介に関しては、 FlowForce 式言語 チャプターと参照してください。


(C) 2019 Altova GmbH