外部サーバーへのアダプティブフォームの送信 submitting-adaptive-form-to-external-server

REST エンドポイントへの送信アクションを利用して、送信されたデータを REST URL に POST することができます。URL は、内部(フォームがレンダリングされるサーバー)または外部サーバーのどちらのものでも使用できます。

通常、さらに処理を行うために、顧客はフォームデータを外部サーバーに送信します。

内部サーバーにデータを POST 送信するには、リソースのパスを指定します。データは、リソースのパスに POST されます。例:</content/restEndPoint>。このような POST リクエストには、送信リクエストの認証情報が使用されます。

外部サーバーにデータを POST 送信するには、URL を指定します。URL の形式は、http://host:port/path_to_rest_end_point です。POST リクエストを匿名で処理するようにパスを設定していることを確認してください。

この記事の目的のために、Tomcat インスタンスにデプロイできる単純な war ファイルを作成しました。Tomcat がポート 8080 で実行されている場合、POST URL は次のようになります。

http://localhost:8080/AemFormsEnablement/HandleFormSubmission

このエンドポイントにアダプティブフォームを送信するように設定する場合、次のコードによって、フォームデータと添付ファイル(存在する場合)をサーブレットで抽出することができます

System.out.println("form was submitted");
Part attachment = request.getPart("attachments");
if(attachment!=null)
{
    System.out.println("The content type of the attachment added is "+attachment.getContentType());
}
Enumeration<String> params = request.getParameterNames();
while(params.hasMoreElements())
{
String paramName = params.nextElement();
System.out.println("The param Name is "+paramName);
String data = request.getParameter(paramName);System.out.println("The data  is "+data);
}

formsubmission
これをサーバーでテストするには、次の手順を実行してください

  1. Tomcat をインストールします(まだインストールしていない場合)。 Tomcat のインストール手順は、こちらを参照してください
  2. この記事に関連付けられている zip ファイルをダウンロードします。ファイルを解凍し、war ファイルを取得します。
  3. war ファイルを Tomcat サーバーにデプロイします。
  4. 添付ファイルコンポーネントを含むシンプルなアダプティブフォームを作成し、上のスクリーンショットに示されているように、送信アクションを設定します。POST URL は http://localhost:8080/AemFormsEnablement/HandleFormSubmission です。AEMと Tomcat が localhost で実行されていない場合は、URL を適宜変更してください。
  5. Tomcat へのマルチパートフォームデータ送信を有効にするには、次の属性を <tomcatInstallDir>\conf\context.xml のコンテキスト要素に追加し、Tomcat サーバーを再起動します。
  6. <Context allowCasualMultipartParsing="true">
  7. アダプティブフォームをプレビューし、添付ファイルを追加して送信します。Tomcat コンソールウィンドウでメッセージを確認します。
recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e