Web サービスとしてジョブを公開する

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

ホーム >  ジョブの構成 >

Web サービスとしてジョブを公開する

FlowForce Server ジョブを Web サービスとして公開することができます。Web サービスとして公開されるジョブは、プログラミング的にアクセスできることを基本的に意味します。テストとデバッグのために、このようなジョブをブラウザーから呼び出すこともできます。

 

 

Web サービスとしてジョブを公開する:

1.ジョブを作成する、または、既存のジョブを編集のために開きます。
2.「 HTTP を介してこのジョブを利用可能にする」チェックボックスをクリックします。

ff-service

3.URL テキストボックス内に Web サービスの名前を入力します。

 

指定されたリクエスト URL で、 FlowForce Server は HTTP GET と POST リクエストを受け入れるリスナーサービスを開始します。サービスとして公開されるジョブは、 FlowForce サーバーが作動している間はアクティブです。

 

サービスが呼び出されると、FlowForce Server は指定されたジョブの実行ステップを実行し、次を返します:

 

ジョブが結果ファイルを生成する場合、最後のステップの最初の結果ファイル。
結果ファイルが生成されない場合、最後のステップの標準出力 (コマンドライン出力と作業する場合などが当てはまります)。

 

結果に従ったコンテンツ型 ヘッダーが表示され、 HTTP 200 ステータスと共に有効な結果が返されます。コンテンツ型 ヘッダーは実際の結果により異なります。 MapForce マッピングは、XML 出力が存在する場合、または、テキスト出力のための text/plain が存在する場合、 text/xml で結果が表示されます。 他の関数の標準の出力も text/plain で返されます。結果は修飾記号なしでレスポンスボディとして返されます。

 

実行エラーはジェネリック名エラーメッセージと共に HTTP 5xx ステータスとして報告されます。詳細に関しては、 FlowForce Server ログ をチェックしてください(ジョブログの確認 を参照)。

 

このようなジョブの構成を説明するステップバイステップのサンプルに関してはWeb サービスとしてジョブを公開するを参照してください。

 

 

現在作動しているすべての FlowForce Server Web サービスを確認する:

ブラウザーを開き、次の URL をアドレスバーに入力します。

 

http://[FlowForceServer][ServerPort]/service/*

 

[FlowForceServer][ServerPort] は FlowForce Server が実行されているネットワークアドレスとポートを示します。デフォルトでは、(同じマシンからアクセスすると想定し) FlowForce Server は http://localhost:4646 で作動します。サーバー名とポートは管理ページで定義されているとおりです (次を参照: ネットワークアドレスとポートの設定)。

 

Web  サービスパラメーター

Web サービスとしてジョブを公開すると、全てのジョブのパラメーターは自動的にサービスのパラメーターになります。 ジョブのパラメーターにデフォルトが存在しない場合、サービスを呼び出す際にデフォルトを与える必要があります。リクエスト内で与えられていない場合、任意のパラメーターはデフォルトの値を取ります。

 

サービスが呼び出されると、 FlowForce Server は、リクエスト内で与えられたパラメーターをジョブ内で定義されたパラメーターに対して検証します。パラメーターの検証に失敗すると、FlowForce Server は、5xx HTTP ステータスを返します。この場合デバッグとテストのために、 FlowForce Server は HTML パラメーターフォームも表示します。デバッグとテストのために HTML フォームを使用して、パラメーターを手動で入力することができます。型 ストリームのパラメーターのために、ページ内でブラウザーボタンが使用できるようになり、パラメーターが必要とするようにファイルをアップロードするために使用することができます。

 

テスト HTML フォームを条件無しに表示するには、リクエスト内にビルドインの (値を持つ)パラメーター showform を与えます。

 

HTTP POST リクエストのためにのみサポートされる型 stream のパラメータを除き、リクエストは通常 HTTP GET または HTTP POST として送信されます(Content-Type multipart/form-data)。

 

Internet Explorer を使用して、Web サービスとして FlowForce Server ジョブをテストする場合、 詳細設定 タブ内の「HTTP エラーメッセージを簡易表示する」 オプションを無効化する必要がある場合があります。

 

パラメーターを持つ FlowForce Web サービスを呼び出すには、次のオプションの一つを使用することができます:

 

1.文字列、または、数値などの簡単型のパラメータには、GET または POST リクエストの URL 内に提供することができます。例えば、 Web サービスを公開するを参照してください。
2.POST  の場合は、更に multipart/form-data または as application/x-www-form-urlencoded としてパラメータを提供することができます。FlowForce 内の型 「stream」 がパラメーターの場合、 (FlowForce が期待するため) multipart/form-data としてクライアントが提供する必要があります。このようなパラメータのために、ブラウザーは、対応するパラメーターの横に 「参照」 ボタンを表示する HTML フォームをテストします。
3.クライアントは POST リクエストのボディ内の任意のコンテンツを含むことができます (パラメーターとしてではなく、 HTTP リクエストのボディとしてポストされている JSON または XML などのコンテンツを具体的に示しています)。これを可能にするには、FlowForce ジョブは型 streamsingle パラメータを含んでいる必要があります。追加の非 stream パラメータを必要とする場合、これらは POST URL内に提供される必要があります。しかしながら、FlowForce 内で一つの型 stream のパラメータが定義される必要があります。他のパラメーターは非 stream 型である必要があります。これらの条件が満たされると、 stream パラメーターのためにデータとしてリクエストボディが扱われます。他の構成は必要ありません。 例えば、JSON を FlowForce Web サービスへポストする方法を参照してください。

 

 

Web サービスの認証

デフォルトでは、 FlowForce Server は HTTP ベーシック認証を使用して、Web サービスを呼び出すクライアントを認証します。 ユーザーの資格方法は FlowForce Server ユーザーデータベースに対してチェックされます ( FlowForce Server Web 管理インターフェイスにログオンするために使用されるユーザー名とパスワード).

ff_login_04

資格情報無しでサービスが使用できるようにするには、デフォルトの useranonymous ユーザーにサービスの使用パーミッションを与えます (パーミッションのしくみを参照してください )。

 

サービスが匿名の使用を許可する場合 HTTP 資格情報を提供することができます。資格情報は FlowForce Server のユーザーデータベースに対してチェックされ、サービス実行ファイルは、匿名ユーザーの代わりに認証済みのユーザーの属性にされます。

 

無効な資格情報を提供すると、 401 の HTTP 状態をインターフェイスは返し、サービスの使用はこのサービスの匿名のユーザーに与えられません。リクエストインターフェイスは、 401 の HTTP 状態を返します。ます。

 

有効な資格情報が与えられ、このサービス上でサービスの使用 パーミッションが認証されていないユーザーに与えられていない場合、リクエストインターフェイスは HTTP 4xx 失敗状態を返します。存在しないサービスにアクセスしようとすると、 HTTP 4xx 失敗状態が返されます。

 

HTTP ベーシック認証に加え、任意で、 Windows ドメインの認証を構成することもできます。構成方法に関しては、 Windows アクティブディレクトリ設定の変更 を参照してください。Windows ドメイン認証が構成されると、有効なユーザー名とパスワードを提供することにより、ユーザーは FlowForce Server により公開される Web サービスにアクセスできるようになります。重要な点は、ユーザー名がプレフィックス NT/ を含む必要があり、ドメイン名を除外する必要があることです。例: NT/john.doe@my.domain.com.

ff_login_03

 

キューの設定

サービスの実行はトリガーを使用した実行と同様の振る舞いを行い、同じキューの制約に従います (次を参照する: キューの設定の定義)。


(C) 2019 Altova GmbH