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