Problème

Cet article explique comment utiliser le service de service Web dans des processus pour appeler des services qui nécessitent des pièces jointes en tant que valeurs d’entrée. Cet article explique également comment spécifier le format dans lequel les pièces jointes sont renvoyées par les services Web LiveCycle ES.

Par exemple, les variables d’entrée et de sortie de service de type document sont représentées dans les messages SOAP en tant que pièces jointes. Pour fournir des valeurs de document d’entrée, le message SOAP inclut une pièce jointe. Les messages de réponse incluent des pièces jointes lorsque les services Web ont des variables de sortie de type document.

Les fichiers peuvent être joints en tant que pièces jointes MIME ou MTOM, texte codé en base64 ou en utilisant l’URL du fichier :

Remarque : les services Web fournis par LiveCycle ES ne prennent pas en charge les pièces jointes MTOM.

Configuration du message de demande de service Web

Cette section décrit comment configurer la propriété Options de service Web de l’opération Service Web Invoke. Vous utilisez cette propriété pour configurer le message de demande SOAP envoyé au service Web :

Ouverture de la boîte de dialogue Paramètres WebService

Vous utilisez la boîte de dialogue Paramètres WebService pour configurer la propriété Options de service Web de l’opération Service Web Invoke.

Pour ouvrir la boîte de dialogue Paramètres WebService :

  1. Sur le diagramme de processus, cliquez sur l’opération Invoke Web Service.
  2. Dans la vue Propriétés, développez la section Options du service Web et cliquez sur le bouton en regard de la zone Options.

Spécification des propriétés du service Web

Vous devez fournir les informations suivantes sur le service Web afin que le service Web Services récupère le WSDL et envoie et reçoive des messages SOAP :

URL WSDL : URL de la définition du service Web. L’URL du processus WSDL est au format suivant : http://[server name]:[port]/soap/services/[process name]?wsdl Par exemple, l’URL suivante pointe vers le WSDL du processus nommé echoDocument. Le serveur d’applications s’exécute sur le même ordinateur sur lequel LiveCycle Workbench ES est installé : http://localhost:8080/soap/services/echoDocument?wsdl User Name: Nom d’utilisateur du compte que vous pouvez utiliser pour accéder au service Web. Vous devez fournir un nom d’utilisateur uniquement si le service Web requiert une authentification.

Mot de passe : le mot de passe correspondant au nom d’utilisateur que vous avez donné pour la propriété nom d’utilisateur.

Port : le service que vous souhaitez utiliser, qui est exposé via le WSDL. Un WSDL peut présenter plusieurs services.

URL cible : URL fournissant l’accès au service Web. Pour un processus appelé echoDocument, l’URL est http://localhost:8080/soap/services/echoDocument.

strong>Opération : opération de service Web à appeler. La liste est remplie automatiquement lorsque vous chargez la définition du service Web.

Délai d’expiration : durée pendant laquelle vous souhaitez attendre une réponse du service Web avant d’abandonner l’appel de service Web. La valeur que vous fournissez est en secondes.





Pour spécifier les propriétés du service Web

  1. Dans la boîte de dialogue Paramètres WebService, cliquez sur l’onglet Paramètres.
  2. Dans la zone URL WSDL, saisissez l’URL du WSDL.
  3. Cliquez sur Charger pour récupérer le WSDL. Certaines propriétés de l’onglet Paramètres sont automatiquement renseignées à l’aide des informations du WSDL.
  4. Si nécessaire, saisissez un nom d’utilisateur et un mot de passe.
  5. Si la valeur par défaut du port est incorrecte, entrez une autre valeur.
  6. Si l’URL par défaut pour Target n’est pas correcte, saisissez une URL différente.
  7. Sélectionnez l’opération à appeler.
  8. (Facultatif) Spécifiez la durée qui s’écoule avant l’expiration de la demande de service.

Génération de la demande SOAP initiale

La boîte de dialogue Paramètres WebService permet de générer un message SOAP pour appeler le service Web. Le message est basé sur les propriétés de service Web que vous avez spécifiées. Le message SOAP est fourni dans une zone de texte où vous pouvez modifier le message selon vos besoins.

Pour générer le message SOAP initial :

  1. Dans la boîte de dialogue Paramètres WebService, cliquez sur l’onglet Requête.
  2. Cliquez sur Générer.

Configuration des pièces jointes

Le message SOAP doit inclure des pièces jointes pour représenter les valeurs de document des paramètres d’entrée de service.

Le code XML suivant illustre la structure générale d’un message SOAP utilisé pour un appel à une opération de service Web :

  • L’élément Body contient un élément portant le même nom que l’opération de service.
  • L’élément operation_name contient un élément pour chaque paramètre d’entrée. Les noms de ces éléments sont identiques aux noms des paramètres.
  • La méthode utilisée pour joindre des fichiers au message SOAP (MIME, MTOM (à l’exclusion des services Web LiveCycle ES), du texte codé en base64 ou des URL de fichier) détermine les éléments utilisés pour identifier les pièces jointes.

<soapenv:Envelope
		
	     xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/
		
	     xmlns:ser="http://foo.net/services"> 
		
	    <soapenv:Header /> 
		
	    <soapenv:Body> 
		
	       <ser:operation_name> 
		
	          <ser:parameter_name> 
		
	             <!-- elements for file attachments are placed here --> 
		
	          </ser:parameter_name> 
		
	       </ser:operation_name> 
		
	    </soapenv:Body> 
		
	 </soapenv:Envelope> 

Pour les services Web des processus activés, le nom de l’opération est toujours invoke. Les noms des paramètres sont les noms des variables d’entrée définies dans le processus. Le tableau suivant explique comment configurer les options de la boîte de dialogue Paramètres WebService pour joindre des fichiers. Des exemples de messages SOAP sont fournis pour chaque méthode. Les exemples sont des messages de demande pour le service Web d’un processus avec un paramètre d’entrée nommé documentIn. Le paramètre documentIn est une valeur de document.

Type de pièce jointe Description Exemple de message SOAP
MIME/MTOM

L’onglet Pièce jointe de la boîte de dialogue Paramètres WebService permet de spécifier la valeur du document. Chaque ligne du tableau représente une pièce jointe.

Pour configurer une pièce jointe MIME :

  1. Cliquez sur l’onglet Pièce jointe.
  2. Cliquez sur Charger la pièce jointe pour ajouter des lignes à la table pour les pièces jointes à spécifier pour l’opération de service Web que vous appelez. Les colonnes Part et Type sont renseignées automatiquement par des valeurs.

    Notez les valeurs dans la colonne Part. Vous aurez besoin de ces valeurs dans l’étape 6 de cette procédure. La colonne Part contient l’identification de la pièce jointe. Le service Web détermine l’identification.

  3. Pour chaque ligne du tableau, cliquez sur la cellule Pièce jointe, puis sur le bouton Points de suspension qui apparaît pour ouvrir XPath Builder. L’expression XPath que vous créez doit être résolue en l’emplacement de données où la valeur du document est enregistrée.
  4. Pour chaque ligne du tableau, cliquez sur la cellule Content-Type et tapez le type MIME du fichier que vous attachez, par exemple application / pdf.
  5. Cliquez sur l’onglet Requête et ajoutez un élément attachmentID dans chaque élément qui représente le paramètre qui prend une pièce jointe comme valeur.
  6. Dans chaque élément ID de pièce jointe, tapez le texte qui apparaît dans la colonne Pièce pour la pièce jointe dans l’onglet Pièce jointe.
<soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:ser="http://adobe.com/idp/services"> <soapenv:Header/> <soapenv:Body> <ser:invoke> <ser:documentIn> <ser:attachmentID> part0 </ser:attachmentID> </ser:documentIn> </ser:invoke> </soapenv:Body> </soapenv:Envelope>
texte encodé en base64

Le type de contenu MIME et la représentation textuelle codée en base64 du fichier sont inclus dans le message SOAP :

  • Le type de contenu est spécifié dans un élément contentType.
  • Le texte est spécifié dans un élément binaryData.

Pour obtenir le texte base64, vous pouvez utiliser la fonction getDocContentBase64 XPath.

La procédure suivante suppose que le texte codé en base 64 qui représente la valeur du document est stocké dans une variable de processus.

Pour configurer une pièce jointe de texte codée en base 64 :

  1. Cliquez sur l’onglet Demande.
  2. Ajoutez les éléments suivants dans l’élément qui représente le paramètre prenant la valeur du document :
    • contentType
    • binaryData
  3. À l’intérieur de l’élément contentType, tapez le type de contenu ou ajoutez une expression XPath qui résout une variable de chaîne contenant le type de contenu.
  4. À l’intérieur de l’élément binaryData, ajoutez une expression XPath qui résout une variable de chaîne contenant le texte codé en base64 qui représente le document.
<soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:ser="http://adobe.com/idp/services"> <soapenv:Header/> <soapenv:Body> <ser:invoke> <ser:documentIn> <ser:contentType> {$/process_data/@contentType$} </ser:contentType> <ser:binaryData> {$/process_data/@docBase64$} </ser:binaryData> </ser:documentIn> </ser:invoke> </soapenv:Body> </soapenv:Envelope>
Fichier URL

L’URL du fichier est spécifiée dans un élément remoteURL.

Pour configurer une pièce jointe d’URL de fichier :

  1. Cliquez sur l’onglet Demande.
  2. Ajoutez un élément remoteURL à l’intérieur de l’élément qui représente le paramètre prenant la valeur du document.
  3. Dans l’élément remoteURL, tapez l’URL du fichier ou ajoutez une expression XPath qui résout une variable de chaîne contenant l’URL.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://adobe.com/idp/services"> <soapenv:Header/> <soapenv:Body> <ser:invoke> <ser:documentIn> <ser:remoteURL> http://help.adobe.com/en_US/livecycle/es/overview.pdf </ser:remoteURL> </ser:documentIn> </ser:invoke> </soapenv:Body> </soapenv:Envelope>

Configuration des messages de réponse du service Web LiveCycle ES

Lorsqu’un service Web LiveCycle ES renvoie une valeur de document, la valeur est une pièce jointe au message de réponse SOAP. Le comportement par défaut des services Web LiveCycle ES consiste à stocker la valeur du document de résultat sur le serveur LiveCycle ES et à inclure l’URL du document dans le message de réponse. Toutefois, si le message de demande SOAP incluait une pièce jointe MIME, la réponse utilise également une pièce jointe MIME pour renvoyer les valeurs du document.

Vous pouvez remplacer le comportement par défaut et spécifier la méthode utilisée par les services Web LiveCycle ES pour renvoyer les pièces jointes. Les fichiers peuvent être attachés aux messages de réponse SOAP en tant que pièces jointes MIME, texte codé en base64 ou en utilisant l’URL du fichier. Pour spécifier la manière dont les fichiers sont attachés aux messages de réponse, vous devez ajouter l’une des valeurs du tableau suivant à l’URL cible spécifiée dans l’onglet Paramètres de la boîte de dialogue Paramètres WebService :

Type de pièce jointe Texte à ajouter
texte encodé en base64 ?blob=base64
MIME ?blob=mime
Fichier URL ?blob=http

Par exemple, la valeur suivante pour l’URL cible entraîne le service Web d’un processus nommé echoDocument à joindre des fichiers aux messages de réponse SOAP en tant que texte codé en base64 :

http://localhost:8080/soap/services/echoDocument?blob=base64

Pour remplacer le comportement de pièce jointe du message de réponse SOAP par défaut :

  1. Dans la boîte de dialogue Paramètres WebService, cliquez sur l’onglet Paramètres.
  2. Dans la zone URL cible, ajoutez l’une des valeurs à l’URL :
    • ?blob=base64
    • ?blob=mime
    • ?blob=http

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne