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 サービスプロキシのトポロジー

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 ランタイムに送信します。

  • プロキシがデータを投稿する場合、プロキシサービスは、submitUrlを除くすべてのパラメーターを​/bin/xfaforms/submitaction​エンドポイントに渡し、応答ストリームでxmlバイトを受け取ります。 次に、プロキシサービスはデータ xml バイトを submitUrl に投稿して処理します。

  • データ(POST リクエスト)をサーバーに送信する前に、HTML5 forms はサーバーに接続していて使用できることを確認します。接続と可用性を確認するために、HTML forms は空のヘッドリクエストをサーバーに送信します。サーバーが使用できる場合は、HTML5 forms はデータ(POST リクエスト)をサーバーに送信します。サーバーが使用できない場合は、サーバーに接続できませんでした。​というエラーメッセージが表示されます。 この事前の検出により、ユーザーがフォームに再記入するなどの問題を回避できます。プロキシサーブレットはヘッドリクエストを処理し、例外をスローしません。

このページ

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now