Résumé des étapes

Pour calculer les données d’un formulaire, effectuez les tâches suivantes :

  1. Incluez les fichiers de projet.
  2. Créez un objet API client Forms.
  3. Récupérez un formulaire contenant un script de calcul.
  4. Réécrivez le flux de données de formulaire dans le navigateur web client.

Inclure les fichiers de projet

Incluez les fichiers nécessaires dans votre projet de développement. Si vous créez une application cliente à l’aide de Java, incluez les fichiers JAR nécessaires. Si vous utilisez des services Web, veillez à inclure les fichiers proxy.

Créer un objet API client Forms

Avant d’effectuer par programmation une opération d’API client de service Forms, vous devez créer un client de service Forms. Si vous utilisez l’API Java, créez un objet FormsServiceClient. Si vous utilisez l’API du service Web Forms, créez un objet FormsServiceService.

Récupération d’un formulaire contenant un script de calcul

Vous utilisez l’API client du service Forms pour créer une logique d’application qui gère un formulaire contenant un script configuré pour s’exécuter sur le serveur. Le processus est similaire à la gestion d’un formulaire envoyé. (Voir Gestion des formulaires envoyés.)

Vérifiez que l’état de traitement associé au formulaire envoyé est 1 (Calculate), ce qui signifie que le service Forms effectue une opération de calcul sur les données de formulaire et que les résultats doivent être renvoyés à l’utilisateur. Dans ce cas, un script configuré pour s’exécuter sur le serveur est automatiquement exécuté.

Réécrivez le flux de données de formulaire dans le navigateur web client.

Après avoir vérifié que l’état de traitement associé à un formulaire envoyé est 1, vous devez réécrire les résultats dans le navigateur web client. Lorsque le formulaire est affiché, la valeur calculée apparaît dans le(s) champ(s) approprié(s).

Voir également

Inclusion des fichiers de la bibliothèque Java d’AEM Forms
Calcul des données de formulaire à l’aide de l’API Java
Calcul des données de formulaire à l’aide de l’API Web Service
Définition des propriétés de connexion
Démarrages rapides de l’API du service Forms
Renvoi de formulaires PDF interactifs
Création d’applications web qui renvoient des formulaires

Calcul des données de formulaire à l’aide de l’API Java

Calculer les données de formulaire à l’aide de l’API Forms (Java) :

  1. Inclure des fichiers du projet

    Incluez les fichiers clients JAR, tels qu’adobe-forms-client.jar, dans le chemin de classe de votre projet Java.

  2. Créer un objet API Forms client

    • Créez un objet ServiceClientFactory qui contient des propriétés de connexion.
    • Créez un objet FormsServiceClient en utilisant son constructeur et en transmettant l’objet ServiceClientFactory.
  3. Récupération d’un formulaire contenant un script de calcul

    • Pour récupérer des données de formulaire contenant un script de calcul, créez un objet com.adobe.idp.Document à l’aide de son constructeur et en appelant la méthode getInputStream de l’objet javax.servlet.http.HttpServletResponse à partir du constructeur.

    • Appelez la méthode processFormSubmission de l’objet FormsServiceClient et transmettez les valeurs suivantes :

      • Objet com.adobe.idp.Document contenant les données de formulaire.
      • Une valeur de chaîne qui indique les variables d’environnement, y compris tous les en-têtes HTTP pertinents. Indiquez le type de contenu à gérer en spécifiant une ou plusieurs valeurs pour la variable d’environnement CONTENT_TYPE. Par exemple, pour gérer les données XML et PDF, spécifiez la valeur de chaîne suivante pour ce paramètre : CONTENT_TYPE=application/xml&CONTENT_TYPE=application/pdf
      • Une valeur de chaîne qui spécifie la valeur d’en-tête HTTP_USER_AGENT, par exemple, Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322).
      • Objet RenderOptionsSpec stockant les options d’exécution.

      La méthode processFormSubmission renvoie un objet FormsResult contenant les résultats de l’envoi du formulaire.

    • Vérifiez que l’état de traitement associé à un formulaire envoyé est 1 en appelant la méthode getAction de l’objet FormsResult. Si cette méthode renvoie la valeur 1, le calcul a été effectué et les données peuvent être réécrites dans le navigateur web du client.

  4. Réécrivez le flux de données de formulaire dans le navigateur web client.

    • Créez un objet javax.servlet.ServletOutputStream utilisé pour envoyer un flux de données du formulaire au navigateur web du client.
    • Créez un objet com.adobe.idp.Document en appelant la méthode getOutputContent de l’objet FormsResult.
    • Créez un objet java.io.InputStream en appelant la méthode getInputStream de l’objet com.adobe.idp.Document.
    • Créez un tableau d’octets et renseignez-le avec le flux de données de formulaire en appelant la méthode read de l’objet InputStream et en transmettant le tableau d’octets comme argument.
    • Appelez la méthode write de l’objet javax.servlet.ServletOutputStream pour envoyer le flux de données du formulaire au navigateur web du client. Transmettez le tableau d’octets à la méthode write.

Calculer les données du formulaire en utilisant l’API Web Service

Calculez les données du formulaire en utilisant l’API Forms (Web Service) :

  1. Inclure les fichiers du projet

    • Créez des classes proxy Java qui utilisent le service WSDL de Forms.
    • Incluez les classes proxy Java dans le chemin d’accès de classe.
  2. Créer un objet API Forms client

    Créez un objet FormsService et définissez les valeurs d’authentification.

  3. Récupérer un formulaire contenant un script de calcul

    • Pour récupérer les données du formulaire qui ont été publiées dans une servlet Java, créez un objet BLOB en utilisant son constructeur.

    • Créez un objet java.io.InputStream en utilisant la méthode getInputStream de l’objet javax.servlet.http.HttpServletResponse.

    • Créez un objet java.io.ByteArrayOutputStream en utilisant son constructeur et en transmettant la longueur de l’objet java.io.InputStream.

    • Copiez le contenu de l’objet java.io.InputStream dans l’objet java.io.ByteArrayOutputStream.

    • Créez un tableau d’octets en appelant la méthode toByteArray de l’objet java.io.ByteArrayOutputStream.

    • Renseignez l’objet BLOB en appelant sa méthode setBinaryData et en transmettant le tableau d’octets comme argument.

    • Créez un objet RenderOptionsSpec en utilisant son constructeur. Définissez la valeur du paramètre régional en appelant la méthode setLocale de l’objet RenderOptionsSpec et en transmettant une valeur de chaîne qui la spécifie.

    • Appelez la méthode processFormSubmission de l’objet FormsServiceClient et transmettez les valeurs suivantes :

      • Objet BLOB contenant les données du formulaire.
      • Valeur de chaîne spécifiant les variables d’environnement, y compris tous les en-têtes HTTP pertinents. Par exemple, vous pouvez spécifier la valeur de chaîne suivante : HTTP_REFERER=referrer&HTTP_CONNECTION=keep-alive&CONTENT_TYPE=application/xml.
      • Valeur de chaîne spécifiant la valeur de l’en-tête HTTP_USER_AGENT, par exemple Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322).
      • Objet RenderOptionsSpec stockant les options d’exécution. Pour plus d’informations, .
      • Objet BLOBHolder vide qui est rempli par la méthode.
      • Un objet javax.xml.rpc.holders.StringHolder vide qui est renseigné par la méthode.
      • Un objet BLOBHolder vide qui est renseigné par la méthode.
      • Un objet BLOBHolder vide qui est renseigné par la méthode.
      • Un objet javax.xml.rpc.holders.ShortHolder vide qui est renseigné par la méthode.
      • Un objet MyArrayOf_xsd_anyTypeHolder vide qui est renseigné par la méthode. Ce paramètre est utilisé pour stocker les pièces jointes envoyées avec le formulaire.
      • Objet FormsResultHolder vide qui est rempli par la méthode avec le formulaire envoyé.

      La méthode processFormSubmission remplit le paramètre FormsResultHolder avec les résultats de l’envoi du formulaire. La méthode processFormSubmission renvoie un objet FormsResult contenant les résultats de l’envoi du formulaire.

    • Vérifiez que l’état de traitement associé à un formulaire envoyé est 1 en appelant la méthode getAction de l’objet FormsResult. Si cette méthode renvoie la valeur 1, le calcul a été effectué et les données peuvent être réécrites dans le navigateur web du client.

  4. Réécrivez le flux de données de formulaire dans le navigateur web client.

    • Créez un objet javax.servlet.ServletOutputStream utilisé pour envoyer un flux de données du formulaire au navigateur web du client.
    • Créez un objet BLOB contenant des données de formulaire en appelant la méthode getOutputContent de l’objet FormsResult.
    • Créez un tableau d’octets et remplissez-le en appelant la méthode getBinaryData de l’objet BLOB. Cette tâche affecte le contenu de l’objet FormsResult au tableau d’octets.
    • Appelez la méthode write de l’objet javax.servlet.http.HttpServletResponse pour envoyer le flux de données du formulaire vers le navigateur web du client. Transmettez le tableau d’octets à la méthode write.

Experience Manager