Un bouton peut permettre d’envoyer des données de formulaire au service Forms, sous la forme de données XML, PDF ou codées URL (pour les envois HTML). Imaginons par exemple qu’un utilisateur remplisse un formulaire interactif, puis clique sur un bouton d’envoi. Cette opération entraîne la transmission des données de formulaire au service Forms. Une application cliente, telle qu’une servlet Java créé à l’aide de l’API Forms Service, peut récupérer ces données.
Un formulaire PDF permet d’envoyer quatre types de données (données XDP, XML, PDF et codées URL). Un formulaire HTML n’envoie que des paires nom-valeur codées URL. Lorsque les données sont envoyées au format PDF par défaut, le service Forms capture les données PDF, puis les renvoie sans effectuer de calculs. Vous définissez le type d’envoi dans Designer.
Le type de contenu des données PDF envoyées est application/pdf. Par contraste, le type de contenu des données XML envoyées est text/xml. Pour les envois XDP, il s’agit de application/vnd.adobe.xdp+xml.
Le tableau ci-après récapitule les interactions entre un périphérique client (tel qu’un navigateur Web), une application cliente et le service Forms lorsqu’un utilisateur clique sur un bouton déclenchant une opération d’envoi.
Actions de l’utilisateur
|
Actions de l’application cliente
|
Actions du service Forms
|
Un utilisateur entre des données dans les champs d’un formulaire, puis clique sur un bouton d’envoi. Cette action amorce une opération d’envoi.
Les validations du client marquées comme étant à exécuter sur le client sont lancées.
|
Aucune action
|
Aucune action
|
Le navigateur effectue une commande HTTP sur l’URL cible (cette valeur est définie dans Designer ou par le paramètre targetURL utilisé lors de l’appel de rendu au service Forms).
|
Aucune action
|
Aucune action
|
Aucune action
|
Crée un objet FormServiceClient, appelle la méthode processFormSubmission et transmet la demande HTTP et les en-têtes.
|
Aucune action
|
Aucune action
|
Aucune action
|
Le service Forms fusionne les données publiées dans le formulaire (le cas échéant).
|
Aucune action
|
Aucune action
|
Exécute l’événement de clic sur le champ.
|
Aucune action
|
Aucune action
|
Exécute les événements de calcul de champ dans l’ensemble du formulaire.
|
Aucune action
|
Aucune action
|
Exécute les événements de calcul de page dans l’ensemble du formulaire.
|
Aucune action
|
Aucune action
|
Exécute les événements de validation de champ dans l’ensemble du formulaire.
|
Aucune action
|
Aucune action
|
Exécute les événements de validation de page (incluant validate, formatTest et nullTest).
|
Aucune action
|
Aucune action
|
Exécute l’événement Close du formulaire.
|
Aucune action
|
Aucune action
|
Si ce processus de validation échoue, il existe au moins une erreur. La valeur d’état du traitement renvoyée est Validate.
|
Aucune action
|
Vérifie que le service Forms a renvoyé la valeur d’état du traitement Validate. Dans ce cas, le résultat est renvoyé au navigateur client pour que l’utilisateur corrige l’erreur.
|
Aucune action
|
Dans le cas d’un formulaire affiché au format HTML, l’utilisateur final voit le formulaire contenant les mêmes données, des calculs, ainsi qu’une liste d’erreurs à corriger avant le renvoi du formulaire.
Dans le cas des guides (obsolète), l’utilisateur final voit le formulaire contenant les mêmes données, calculs et liste des erreurs à corriger avant le renvoi du formulaire.
Dans le cas d’un formulaire affiché au format PDF, aucune interface utilisateur n’est définie. Il est possible de récupérer les erreurs de validation à l’aide de la méthode getValidationErrorsList de l’objet FormsResult.
|
Aucune action
|
Aucune action
|
Aucune action
|
Aucune action
|
Si le processus de validation réussit, l’état du traitement prend la valeur Submit.
|
Aucune action
|
Vérifie que le service Forms renvoie la valeur d’état du traitement Submit.
Confirme que le traitement du formulaire est intégralement achevé.
Les traitements supplémentaires relèvent des applications. Par exemple, une application de type Assistant peut demander le panneau de formulaire suivant, effectuer des recherches de données complémentaires, mettre à jour la base de données ou amorcer un nouveau processus de flux de production.
|
Aucune action
|
La vue obtenue est propre à l’application. Par exemple, un nouveau formulaire peut s’afficher.
|
Aucune action
|
Aucune action
|
|
|
|