Vous pouvez valider par programmation un document DDX utilisé par le service Assembler. En d’autres termes, à l’aide de l’API du service Assembler, vous pouvez déterminer si un document DDX est valide ou non. Par exemple, si vous avez effectué une mise à niveau à partir d’une version AEM Forms précédente et souhaitez vous assurer que votre document DDX est valide, vous pouvez le valider à l’aide de l’API du service Assembler.
Pour plus d’informations sur le service Assembler, voir Guide de référence des services pour AEM Forms.
Pour plus d’informations sur un document DDX, voir Service Assembler et Référence DDX.
Pour valider un document DDX, effectuez les tâches suivantes :
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.
Les fichiers JAR suivants doivent être ajoutés au chemin de classe de votre projet :
si AEM Forms est déployé sur un serveur d’applications J2EE pris en charge autre que JBoss, vous devez remplacer les fichiers adobe-utilities.jar et jbossall-client.jar par des fichiers JAR spécifiques au serveur d’applications J2EE sur lequel AEM Forms est déployé.
Création d’un client PDF Assembler
Avant de pouvoir exécuter une opération Assembler par programmation, vous devez créer un client de service Assembler.
Référencer un document DDX existant
Pour valider un document DDX, vous devez référencer un document DDX existant.
Définition des options d’exécution pour valider le document DDX
Lors de la validation d’un document DDX, vous devez définir des options d’exécution spécifiques qui demandent au service Assembler de valider le document DDX au lieu de l’exécuter. Vous pouvez également augmenter la quantité d’informations que le service Assembler écrit dans le fichier journal.
Effectuer la validation
Après avoir créé le client de service Assembler, référencé le document DDX et défini les options d’exécution, vous pouvez appeler l’opération invokeDDX
pour valider le document DDX. Lors de la validation du document DDX, vous pouvez transmettre null
comme paramètre de mappage (ce paramètre stocke généralement les documents PDF dont Assembler a besoin pour effectuer les opérations spécifiées dans le document DDX).
Si la validation échoue, une exception est générée et le fichier journal contient des détails qui expliquent pourquoi le document DDX n'est pas valide peut être obtenu à partir de l'instance OperationException
. Une fois passé le test d’analyse XML de base et la vérification de schéma, la validation par rapport à la spécification DDX est effectuée. Toutes les erreurs qui se trouvent dans le document DDX sont spécifiées dans le journal.
Enregistrer les résultats de la validation dans un fichier journal
Le service Assembler renvoie les résultats de validation que vous pouvez écrire dans un fichier journal XML. La quantité de détails que le service Assembler écrit dans le fichier journal dépend de l’option d’exécution que vous définissez.
Voir également
Validation d’un document DDX à l’aide de l’API Java
Validation d’un document DDX à l’aide de l’API du service Web
Inclusion des fichiers de bibliothèque Java AEM Forms
Réglage des propriétés de la connexion
Assemblage par programmation de Documents PDF
Validez un document DDX à l’aide de l’API Service Assembler (Java) :
Incluez des fichiers de projet.
Incluez des fichiers JAR client, tels que adobe-assembler-client.jar, dans le chemin de classe de votre projet Java.
Créez un client PDF Assembler.
ServiceClientFactory
qui contient des propriétés de connexion.AssemblerServiceClient
en utilisant son constructeur et en transmettant l'objet ServiceClientFactory
.Référencez un document DDX existant.
java.io.FileInputStream
qui représente le document DDX en utilisant son constructeur et en transmettant une valeur de chaîne qui spécifie l’emplacement du fichier DDX.com.adobe.idp.Document
en utilisant son constructeur et en transmettant l’objet java.io.FileInputStream
.Définissez les options d’exécution pour valider le document DDX.
AssemblerOptionSpec
qui stocke les options d’exécution à l’aide de son constructeur.AssemblerOptionSpec
et en transmettant true
.AssemblerOptionSpec
de l'objet getLogLevel
et en transmettant une valeur de chaîne qui répond à vos besoins. Lors de la validation d’un document DDX, vous souhaitez que davantage d’informations soient écrites dans le fichier journal, ce qui facilitera le processus de validation. Par conséquent, vous pouvez transmettre la valeur FINE
ou FINER
.Effectuez la validation.
Appelez la méthode invokeDDX
de l’objet AssemblerServiceClient
et transmettez les valeurs suivantes :
com.adobe.idp.Document
représentant le document DDX.null
de l’objet java.io.Map qui stocke généralement des documents PDF.com.adobe.livecycle.assembler.client.AssemblerOptionSpec
qui spécifie les options d’exécution.La méthode invokeDDX
renvoie un objet AssemblerResult
contenant des informations indiquant si le document DDX est valide.
Enregistrez les résultats de la validation dans un fichier journal.
java.io.File
et assurez-vous que l’extension de nom de fichier est .xml.AssemblerResult
de l’objet getJobLog
. Cette méthode renvoie une instance com.adobe.idp.Document
contenant des informations de validation.com.adobe.idp.Document
de l'objet copyToFile
pour copier le contenu de l'objet com.adobe.idp.Document
dans le fichier.Si le document DDX n’est pas valide, un OperationException
est généré. Dans l'instruction catch, vous pouvez appeler la méthode OperationException
de l'objet getJobLog
.
Voir également
Début rapide (mode SOAP) : Validation des documents DDX à l’aide de l’API Java (mode SOAP)
Inclusion des fichiers de bibliothèque Java AEM Forms
Réglage des propriétés de la connexion
Validez un document DDX à l’aide de l’API Service Assembler (service Web) :
Incluez des fichiers de projet.
Créez un projet Microsoft .NET qui utilise MTOM. Assurez-vous d’utiliser la définition WSDL suivante : http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1
.
Remplacez localhost par l’adresse IP du serveur Forms.
Créez un client PDF Assembler.
Créez un objet AssemblerServiceClient
en utilisant son constructeur par défaut.
Créez un objet AssemblerServiceClient.Endpoint.Address
en utilisant le constructeur System.ServiceModel.EndpointAddress
. Transmettez une valeur de chaîne qui spécifie le WSDL au service AEM Forms (par exemple, http://localhost:8080/soap/services/AssemblerService?blob=mtom
). Vous n'avez pas besoin d'utiliser l'attribut lc_version
. Cet attribut est utilisé lorsque vous créez une référence de service.
Créez un objet System.ServiceModel.BasicHttpBinding
en obtenant la valeur du champ AssemblerServiceClient.Endpoint.Binding
. Convertissez la valeur de retour en BasicHttpBinding
.
Définissez le champ MessageEncoding
de l’objet System.ServiceModel.BasicHttpBinding
sur WSMessageEncoding.Mtom
. Cette valeur garantit l’utilisation de MTOM.
Activez l’authentification HTTP de base en exécutant les tâches suivantes :
AssemblerServiceClient.ClientCredentials.UserName.UserName
.AssemblerServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
au champ BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
au champ BasicHttpBindingSecurity.Security.Mode
.Référencez un document DDX existant.
BLOB
en utilisant son constructeur. L’objet BLOB
est utilisé pour stocker le document DDX.System.IO.FileStream
en appelant son constructeur et en transmettant une valeur de chaîne qui représente l’emplacement du fichier du document DDX et le mode d’ouverture du fichier.System.IO.FileStream
. Vous pouvez déterminer la taille du tableau d’octets en obtenant la propriété System.IO.FileStream
de l’objet Length
.System.IO.FileStream
de l’objet Read
et en transmettant le tableau d’octets, la position de départ et la longueur du flux à lire.BLOB
en attribuant sa propriété MTOM
au contenu du tableau d’octets.Définissez les options d’exécution pour valider le document DDX.
AssemblerOptionSpec
qui stocke les options d’exécution à l’aide de son constructeur.validateOnly
de l’objet AssemblerOptionSpec
.logLevel
de l'objet AssemblerOptionSpec
. lors de la validation d’un document DDX, vous souhaitez que davantage d’informations soient écrites dans le fichier journal, ce qui facilitera le processus de validation. Par conséquent, vous pouvez spécifier la valeur FINE
ou FINER
. Pour plus d'informations sur les options d'exécution que vous pouvez définir, consultez la référence de classe AssemblerOptionSpec
dans AEM Forms API Reference.Effectuez la validation.
Appelez la méthode invokeDDX
de l’objet AssemblerServiceClient
et transmettez les valeurs suivantes :
BLOB
représentant le document DDX.null
de l’objet Map
qui stocke généralement des documents PDF.AssemblerOptionSpec
qui spécifie les options d’exécution.La méthode invokeDDX
renvoie un objet AssemblerResult
contenant des informations indiquant si le document DDX est valide.
Enregistrez les résultats de la validation dans un fichier journal.
System.IO.FileStream
en appelant son constructeur et en transmettant une valeur de chaîne qui représente l'emplacement du fichier journal et le mode d'ouverture du fichier. Assurez-vous que l’extension de nom de fichier est .xml.BLOB
qui stocke les informations du journal en obtenant la valeur du membre de données AssemblerResult
de l'objet jobLog
.BLOB
. Renseignez le tableau d’octets en obtenant la valeur du champ BLOB
de l’objet MTOM
.System.IO.BinaryWriter
en appelant son constructeur et en transmettant l'objet System.IO.FileStream
.System.IO.BinaryWriter
de l’objet Write
et en transmettant le tableau d’octets.Si le document DDX n’est pas valide, un OperationException
est généré. Dans l'instruction catch, vous pouvez obtenir la valeur du membre OperationException
de l'objet jobLog
.
Voir également
Appel de AEM Forms à l’aide de MTOM