Show Menu
トピック×

HTML5 forms サービスプロキシ

HTML5 forms サービスプロキシは、送信サービスのためのプロキシを登録する設定です。サービスプロキシを設定するには、リクエストパラメーター submissionServiceProxy を使って送信サービスの URL を指定します。

サービスプロキシの利点

サービスプロキシは、以下を排除します。
  • HTML5 forms ワークフローでは、HTML5 forms ユーザーに対して送信サービス「/content/xfaforms/submission/default」を開く必要があります。これにより、AEM サーバーは意図しない多くの閲覧者にさらされてしまいます。
  • サービス URL は、フォームのランタイムモデルに埋め込まれます。サービス URL パスを変更することは不可能です。
  • 送信は 2 手順のプロセスです。フォームデータを送信するために、送信はサーバーに対して少なくとも 2 つのジャーニーを必要とします。したがって、サーバーでの負荷が増大します。
  • HTML5 forms は、PDF リクエストの代わりに POST リクエストでデータを送信します。PDF と HTML5 forms の両方が関与するワークフローの場合、2 つの異なる方法による送信処理が必要となります。

トポロジー

HTML5 forms は次のトポロジーを使用して LiveCycle サーバーに接続します。
  • AEM サーバーまたは HTML5 forms が POST を使ってデータをサーバーに送信するトポロジー。
  • プロキシサーバーが POST データをサーバーに送信するトポロジー。
HTML5 forms サービスプロキシのトポロジー
HTML5 forms は AEM サーバーに接続して、サービス側スクリプト、Web サービス、および送信を実行します。HTML5 forms の XFA ランタイムは、AEM サーバーに接続するためのさまざまなパラメーターを付けて、「/bin/xfaforms/submitaction」エンドポイントで Ajax コールを使用します。HTML5 forms は AEM サーバーに接続して、次の操作を実行します。

サーバー側スクリプトと Web サービスの実行

サーバー上で実行するようにマークされているスクリプトは「サーバー側スクリプト」といいます。次の表に、リスト側スクリプトとWebサービスで使用されるすべてのパラメーターを示します。
パラメーター
説明
activity
activity は、リクエストをトリガーするイベントを指定します。例えば、クリック、終了、または変更など
contextSom
contextSom は、イベントが実行されるオブジェクトの SOM 式を指定します。
テンプレート
Template は、フォームをレンダリングするために使用するテンプレートを指定します。
contentRoot
contentRoot は、フォームをレンダリングするために使用するテンプレートルートディレクトリを指定します。
データ
Data は、フォームをレンダリングするために使用するデータバイトを指定します。
formDom
formDom は、HTML5 forms の DOM を JSON 形式で指定します。
packet
packet は、フォームとして指定されます。
debugDir
debugDir は、フォームをレンダリングするために使用するデバッグディレクトリを指定します。

データの送信

送信ボタンをクリックすると、HTML5 forms はデータをサーバーに送信します。HTML5 forms がサーバーに送信するすべてのパラメーターを下表に示します。
パラメーター
説明
テンプレート
フォームをレンダリングするために使用するテンプレート。
contentRoot
フォームをレンダリングするために使用するテンプレートルートディレクトリ。
データ
フォームをレンダリングするために使用するデータバイト。
formDom
HTML5 forms の DOM を JSON 形式で指定します。
submiturl
データ XML が投稿される URL。
debugDir
フォームをレンダリングするために使用するデバッグディレクトリ。

送信プロキシはどのように機能しますか?

送信サービスプロキシは、submiturl がリクエストパラメーター内には存在しないようにパスとして機能します。これはパススルーとして機能します。これはリクエストを /bin/xfaforms/submitaction エンドポイントに送信し、応答を XFA ランタイムに送信します。
送信サービスプロキシは、submiturl がリクエストパラメーター内に存在する場合は、トポロジーを選択します。
  • AEM サーバーがデータを投稿する場合、プロキシサーバーはパススルーとして機能します。これはリクエストを /bin/xfaforms/submitaction エンドポイントに送信し、応答を XFA ランタイムに送信します。
  • If proxy posts the data, the proxy service passes all the parameters except submitUrl to the /bin/xfaforms/submitaction end point and receives xml bytes in response stream. 次に、プロキシサービスはデータ xml バイトを submitUrl に投稿して処理します。
  • データ(POST リクエスト)をサーバーに送信する前に、HTML5 forms はサーバーに接続していて使用できることを確認します。接続と可用性を確認するために、HTML forms は空のヘッドリクエストをサーバーに送信します。サーバーが使用できる場合は、HTML5 forms はデータ(POST リクエスト)をサーバーに送信します。If the server is not available, an error message, Could’t connect to the server, is displayed. この事前の検出により、ユーザーがフォームに再記入するなどの問題を回避できます。プロキシサーブレットはヘッドリクエストを処理し、例外をスローしません。