サンプル: フル AS2 メッセージの交換 (シンプル)

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

ホーム >  AS2 との統合 >

サンプル: フル AS2 メッセージの交換 (シンプル)

このサンプルでは、FlowForce Server のパースペクティブから2つの AS2 パートナー間の AS2 メッセージ交換の構成方法について説明されています。このサンプルでは、送信元 AS2 パートナーと受信先の AS2 パートナーは双方とも FlowForce Server インスタンスです。

 

送信する側のサーバー 「Hermes」 と受信する側のサーバー 「Apollo」 と呼ぶことにします。Hermes は CentOS 上で作動、Apollo は Windows 上で作動することとします(この詳細はパスと、ファイアウォールの構成時に重要になります)。このサンプルの目的は、以下のとおりです:

 

送信する側のサーバー (Hermes) が受信先の AS2 サーバー (Apollo) への AS2 メッセージの送信に成功する
受信する側のサーバー (Apollo) が受信するメッセージの処理に成功し、ローカルに保存する。

 

このサンプルは、2つの AS2 パートナー間の単純な通信のシナリオを表しています (RFC 4130 のセクション 2.4.2 に従い12の可能な順列の最初の順列) 基本的には以下の点について説明されています:

 

送信者は暗号化が解除された AS2 データを送信します。
送信者は署名されていない AS2 データを送信します。
送信者はメッセージへの応答内で MDN が返されることを必要としません。

 

他の前提:

 

Apollo と Hermes は両者、ローカルのプライベートネットワーク上で作動しています。
受信側 AS2 サーバー (Apollo) は、認証されていないクライアントからの HTTP リクエストを受け入れます。 (すなわち、サービスに公的にアクセスすることができます)

 

必要条件

FlowForce Server Advanced Edition がインストールされている必要があり、 Apollo と Hermes マシン上でライセンスが供与されている必要があります。
Apollo と Hermes サーバー上で、 FlowForce Web 管理者インターフェイスが構成されているホストとポート上で作動している必要があります。 (例えば、 http://apollo:8082http://hermes:8082、「apollo」 と 「hermes」 がそれぞれ対応するホスト名であることが前提です)。  次も参照してください: ネットワーク設定の定義

 

AS2 サーバー (「Hermes」) の送信の構成方法

1.FlowForce Web 管理者インターフェイスにログオンし、「APOLLO」 という名前の新規の AS2 パートナーを作成します。(次も参照してください: AS2 パートナーの構成)。 このパートナーは、AS2 サービスを受信するサーバーを識別します。暗号化、署名、 MDN はこの単純なサンプルでは必要とされず、パートナーの設定外かのように設定されるだけです:

ff_as2_ex1-01

上記のとおり、AS2 通信のために使用された AS2 パートナーの名前は 「Apollo」 で、FlowForce Server 内に保管されているパートナーオブジェクト名は 「APOLLO」 です。 「Request URL」 値は、パートナーのホスト名が apollo であることを想定しています。 ホスト名が異なる場合、 URL を必要に応じて調整してください。次のステップ内でこの URL の背景で実際の AS2 サービスを構成します。

 

2.AS2 メッセージを送信する新規のジョブを作成します。

 

a) 「public」 コンテナーを開き、「作成 | ジョブの作成」をクリックします。

ff_as2_ex1-01a

(例えば、 「send-as2」) ジョブ名を入力し、任意で詳細を入力します。

 

b) 新規のファイルシステムトリガー をクリックして、以下に示されるようにトリガー設定を設定します。 ディレクトリ /home/altova/as2/outgoing が Hermes のマシン上に存在しない場合、作成してください。

ff_as2_ex1-02a

トリガーが追加されると、 triggerfile という名前のパラメーターがジョブに追加されます。 このパラメーターは /home/altova/as2/outgoing にファイルをコピーする都度ジョブを自動的にトリガーするファイル名を示しています。詳細に関しては、次を参照してください: ファイルシステムのトリガー

 

c) AS2 パートナーにより定義されている EDI ファイルをローカルパスから送信する実行ステップを追加します。 このステップの詳細に関しては、次を参照してください: AS2 メッセージの送信

ff_as2_ex1-02

d) 最後に、ローカルのマシン上のユーザーのアカウントに資格情報を追加します (通常、このマシンにログオンするために使用するユーザー名とパスワード)。これらは FlowForce Web 管理者インターフェイスのユーザー名とパスワードと同じ資格情報ではないことに注意してください。 詳細に関しては、次を参照してください: 資格情報のしくみ

ff_as2_create_job_4

e) 「保存」 をクリックします。FlowForce Server ホームページ内の「アクティブなトリガー」の下にジョブが表示されます。

ff_as2_ex1-04a

 

受信先 AS2 サーバー (「Apollo」) の構成方法

1.FlowForce Server を目的の URL 上で AS2 クライアントから接続を受け入れるように構成します。このサンプルでは、 AS2 クライアント デフォルトのポート 4646 上でプレーンな HTTP を介して Apollo に接続します。構成ページは以下のようになります (次も参照してください: ネットワーク設定の定義):

ff_as2_ex1-04

2.FlowForce Server がオペレーティングシステムのファイアウォールを介して通信することが許可されていることを確認してくださ。 このサンプルでは、「Apollo」 FlowForce Server は Windows 上で作動するため、 Windows Defender ファイアウォールを介して通信が許可されている必要があります。

ff_as2_ex1-05

3.新規の FlowForce Server コンテナーを作成します。 「as2service」 と呼ぶことにします。(FlowForce 内では、パーミッションはコンテナーレベルで設定されており、 AS2 サービスを受け取るジョブのために個別のコンテナーが作成されることが奨励されます。 このようにして、既存の FlowForce ジョブに適用されているパーミッションに影響を与えることなく AS2 固有のパーミッションを必要とされるコンテナーのみに対して設定することができます)。

ff_as2_ex1-06

4.前に定義されている 「as2service」 コンテナーを開き、送信元のパートナーである Hermes を下記のとおり作成します。「Request URL」 値は、パートナーのホスト名が hermes であることを想定しています。ホスト名が異なる場合、 URL を必要に応じて調整してください。

ff_as2_ex1-07

両方のサーバーで 相互運用性 設定が同じであることを確認してください。 例:

ff_as2_ex1-08

5.前に定義されている 「as2service」 コンテナーを開き、 新規のジョブを作成します。このジョブの目的は、 AS2 リクエストをリッスンする AS2 サービスを公開することです。新規の AS2 メッセージが受信されると、このジョブは一時フォルダーにコピーします。

ff_as2_ex1-09a

a) このジョブを HTTP を介して利用可能にする... チェックボックスを選択し、 AS2 サービスに名前を与えます (このサンプルでは、 「as2-receiver」)。

ff_as2_ex1-09

b) 上記のとおり、オプション AS2 サービス をドロップダウンリストから選択します。 この結果、 2つの 入力パラメーターがジョブ、 パートナーメッセージに追加されます。 これらは送信元のパートナーとメッセージに関する情報を処理し保管するために使用されます。 このサンプルでは、以下に示されるようにメッセージのみを保管します。

ff_as2_ex1-10

c) ローカルパスに受信済みのメッセージをコピーする実行ステップを追加します。以下で使用される FlowForce Server 式は基本的にはメッセージをファイルに変換し、 Message-ID ヘッダーフィールドをベースにファイル名を作成します。これらの式に関する詳細に関しては、次を参照してください: AS2 サービスの受信

ff_as2_ex1-11

ディレクトリ C:\as2\incoming が存在することを確認してください。 これが受信された AS2 コミュニケーションが保存されるディレクトリです。

 

d) 最後に、ローカルのマシン上のユーザーのアカウントに資格情報を追加します (通常、このマシンにログオンするために使用するユーザー名とパスワード)。 これらは FlowForce Web 管理者インターフェイスのユーザー名とパスワードと同じ資格情報ではないことに注意してください。 詳細に関しては、次を参照してください: 資格情報のしくみ.

ff_as2_create_job_4

6.コンテナー public / as2service に移動し、 パーミッションをクリックします。 パーミッションの追加 をクリックして、 パーミッション サービスを 「as2service」 コンテナー上のユーザー user anonymous に割り当てます:

ff_as2_ex1-11a

コンテナーパーミッションは以下のようになります:

ff_as2_ex1-12

これにより効果的に AS2 サービスを公開し、アクセスを可能にし、認証無しで使用できるようになります。

 

AS2 メッセージの送信

Hermes マシン上で、.edi ファイルを前に構成された次のディレクトリにコピーします: /home/altova/as2/outgoing。ディレクトリのポーリング間隔が開始されると (デフォルトでは 60 秒 ) トリガーが実行され、 Apollo マシン上でジョブはファイルを AS2 サービスに送信します。

 

ジョブの結果を確認するには、FlowForce Server ログをチェックし、次を参照してください: ジョブのログの確認。ジョブが失敗すると、ログ内に失敗の理由が表示されます。 以下を含む理由がジョブが失敗する理由として挙げられます:

 

Hermes 上の EDI ファイルへのパスが正確ではありません。
ジョブ内で指定されている Hermes オペレーティングシステムの資格情報が正確ではない場合
Apollo のマシン上でファイアウォールがブロックするために、Apollo サービス http://apollo:4646/service/as2-receiver を使用することができない場合
サービス http://apollo:4646/service/as2-receiver のための FlowForce Server コンテナー パーミッションは匿名のアクセスを禁止しています (すなわち、クライアントは AS2 サービスにアクセスすることができません)
Apollo パートナーの「URL のリクエスト」 パラメーターが正確ではない場合 ( Hermes マシン上で、Apollo のマシン上で、または両方)
Apollo のマシン上で 「相互運用性の設定」 パラメーターが Hermes パートナー のために正確に構成されていない場合

 

成功すると、Apollo マシン上の受信ジョブは、受信するメッセージを処理し、次のパスに新規のファイルを作成します: C:\as2\incoming


(C) 2019 Altova GmbH