Vous pouvez utiliser des services Web dans AEM Forms pour remplir les champs d’un formulaire. AEM Forms prend en charge les services Web décrits dans le WSDL (Web Services Description Language) 1.1 avec le style document/littéral et des points de fin SOAP. Supposons que vous souhaitez afficher les prévisions météorologiques hebdomadaires du code postal indiqué par l’utilisateur. Vous pouvez créer une règle pour utiliser un service Web existant pour extraire les données de prévisions météorologiques puis effectuer le rendu des données dans le formulaire.
Vous pouvez définir l’URL du service directement lorsque vous créez une règle ou préconfigurez un service Web dans CRX pour rendre le service Web disponible dans l’éditeur de règles comme élément du menu. Cet article explique comment préconfigurer un service Web dans CRX avec des paramètres spécifiques d’entrée et de sortie pour le rendre disponible dans l’éditeur de règles.
Pour créer cette règle dans l’éditeur de règles, voici les conditions préalables :
- Un formulaire adaptatif avec les objets de formulaire appropriés : un objet de formulaire chacun pour les paramètres d’entrée et un objet de formulaire chacun pour afficher les paramètres de sortie (ici un seul pour afficher les prévisions météorologiques)
- Préconfigurer le service Web dans CRX avec les paramètres d’entrée et de sortie
Le scénario de cet article utilise le service Web de météo de www.cdyne.com Pour en savoir plus sur le service Web de météo, consultez le document des spécifications du service Web de météo.
AEM Forms prend en charge les services Web décrits dans le WSDL (Web Services Description Language) 1.1 avec le style document/littéral et des points de fin SOAP. Suivez les étapes ci-dessous pour préconfigurer un service eb dans CRX pour l’éditeur de règles :
-
Remarque :
Créez le nœud de service Web dans le dossier /apps uniquement.
-
Ajoutez les propriétés suivantes au nœud que vous venez de créer (ici, WeatherWeek) et cliquez sur Enregistrer tout :
Propriété Type Description Valeur guideComponentType Chaîne Une constante spécifiant la configuration identifiée en tant que service Web fd/af/webServices url Chaîne URL du service Web que vous installez http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL jcr:title Chaîne Le nom du service Web tel qu’il apparaîtra dans le menu déroulant de l’editeur de règles WeatherWeek opération Chaîne L’exploitation du service Wweb configuré Météo hebdomadaire d’une ville -
Sous le nœud nommé entrée, créez des sous-nœuds pour chacun des paramètres d’entrée que vous souhaitez préconfigurer. Dans le scénario de service Web de météo, créez un nœud pour que l’utilisateur puisse saisir le code postal comme entrée.
Suivez les étapes ci-dessous pour créer un nœud pour le paramètre d’entrée :
Remarque :
Si vous n’ajoutez pas de nœud d’entrée, l’objet du formulaire et la règle sont renseignés avec les paramètres d’entrée du service Web.
-
Ajoutez les propriétés au nœud enfant. Dans le scénario de service Web de météo, ajoutez les propriétés suivantes au nœud enfant et cliquez sur Enregistrer tout :
Propriété Type Description Valeur id Chaîne Id du paramètre d’entrée comme dans le service Web Code postal jcr:title Chaîne Le nom du paramètre d’entrée tel qu’il apparaîtra pour l’utilisateur Code postal defaultValue Chaîne Valeur par défaut du paramètre 90028 masquer Booléen Masquer le paramètre ? False Remarque :
Si la propriété de masquage est définie sur true, vous devez définir la valeur de la propriété defaultValue, car l’utilisateur n’est pas en mesure d’afficher le paramètre d’entrée et de fournir une valeur.
-
-
Sous le nœud nommé sortie, créez des sous-nœuds pour chacun des paramètres de sortie que vous souhaitez inclure dans votre configuration et qui s’affiche pour l’utilisateur.
Suivez les étapes ci-dessous pour créer un nœud (ici, date de la météo) pour le paramètre de sortie :
Remarque :
Si vous n’ajoutez pas de nœud de sortie, l’objet de formulaire et la règle sont renseignés avec tous les paramètres de sortie dans le service Web.
-
Ajoutez les propriétés au nœud enfant.
Dans le scénario de service Web de météo, ajoutez les propriétés suivantes au nœud enfant et cliquez sur Enregistrer tout :
Propriété Type Description Valeur id Chaîne ID du paramètre de sortie comme dans le service Web. ID est sensible à la casse. GetCityForecastByZIPResponse.GetCityForecastByZIPResult.
ForecastResult.Forecast.Date
jcr:title Chaîne Le nom du paramètre de sortie tel qu’il s’affiche pour l’utilisateur Desc
-
Une fois que le service Web est préconfiguré dans CRX, créez une règle basée sur le service Web dans l’éditeur de règles pour un formulaire adaptatif. Si nécessaire, créez un formulaire adaptatif où vous pourrez utiliser le service Web préconfiguré.
Pour écrire une règle basée sur la préconfiguration de WeatherWeek, vous avez besoin d’un formulaire adaptatif qui offre les avantages suivants :
- Un champ où l’utilisateur peut saisir le code postal
- Un tableau où vous pouvez inclure la météo hebdomadaire du code postal saisi. Dans ce cas de figure, faites en sorte que la rangée du tableau puisse être reproduite en définissant la propriété maxOccur à 7. Les sept rangées sont requises pour rendre la prévision pour chaque jour de la semaine.
Le formulaire pour créer la règle basée sur un service Web de météo ressemble à ce qui suit :

Pour en savoir plus sur la création d’un formulaire adaptatif, consultez Création d’un formuaire adaptatif.
Après avoir installé un service Web dans CRX et lorsque vous avez le bon formulaire adaptatif pour créer la règle, vous pouvez écrire une règle pour appeler le service Web pour renseigner un objet de formulaire.
Suivez les étapes ci-dessous pour créer une règle basée sur un service Web pour un champ (ici, le code postal) :
-
Appuyez sur le menu déroulant Sélectionner un état et sélectionnez A changé.
L’événement A changé appelle la règle à chaque fois que la valeur du champ (ici, code postal) est modifiée. Pour créer cette règle différemment, vous pouvez utiliser d’autres événements et opérateurs dans l’éditeur de règles.
-
Dans le champ Saisir l’URL du service Web, appuyez sur
et sélectionnez le nom du service Web (ici, WeatherWeek) que vous avez installé dans CRX. Les espaces réservés d’entrée et de sortie apparaissent.
Pour appeler un service Web qui n’est pas configuré dans le CRX, vous pouvez saisir l’URL du service Web directement dans le champ Saisir l’URL du service Web.
Remarque :
Dans ce scénario, lors de la création du nœud d’entrée dans CRX, la valeur par défaut du paramètre est définie sur 90028. Pour afficher les prévisions météorologiques du code postal par défaut (90028), ignorez l’étape 5. Ou, pour employer la valeur indiquée par l’utilisateur dans le champ Code postal comme entrée, passez à l’étape 5.
Remarque :
Si les espaces réservés d’entrée et de sortie ne s’affichent pas lorsque vous sélectionnez le nom du service Web, vérifiez la propriété ID du dossier de sortie concerné dans CRX. Assurez-vous que l’ID est saisi correctement et est de la bonne casse.
Dans le formulaire adaptatif dans lequel vous avez créé la règle basée sur un service Web, procédez comme suit pour renseigner les objets de formulaire en utilisant le service Web :