Convalidare un documento DDX utilizzando l’API del servizio web validate-a-ddx-document-using-theweb-service-api
Gli esempi e gli esempi contenuti in questo documento sono solo per AEM Forms in ambiente JEE.
Convalidare un documento DDX utilizzando l'API del servizio Assembler (servizio Web):
-
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurarsi di utilizzare la seguente definizione WSDL:
http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1
.note note NOTE Sostituire localhost con l'indirizzo IP di Forms Server. -
Creare un client PDF Assembler.
-
Creare un oggetto
AssemblerServiceClient
utilizzando il relativo costruttore predefinito. -
Creare un oggetto
AssemblerServiceClient.Endpoint.Address
utilizzando il costruttoreSystem.ServiceModel.EndpointAddress
. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio,http://localhost:8080/soap/services/AssemblerService?blob=mtom
). Non è necessario utilizzare l'attributolc_version
. Questo attributo viene utilizzato quando si crea un riferimento a un servizio. -
Creare un oggetto
System.ServiceModel.BasicHttpBinding
ottenendo il valore del campoAssemblerServiceClient.Endpoint.Binding
. Eseguire il cast del valore restituito inBasicHttpBinding
. -
Impostare il campo
MessageEncoding
dell'oggettoSystem.ServiceModel.BasicHttpBinding
suWSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM. -
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
- Assegnare il nome utente dei moduli AEM al campo
AssemblerServiceClient.ClientCredentials.UserName.UserName
. - Assegnare il valore della password corrispondente al campo
AssemblerServiceClient.ClientCredentials.UserName.Password
. - Assegnare il valore costante
HttpClientCredentialType.Basic
al campoBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Assegnare il valore costante
BasicHttpSecurityMode.TransportCredentialOnly
al campoBasicHttpBindingSecurity.Security.Mode
.
- Assegnare il nome utente dei moduli AEM al campo
-
-
Fare riferimento a un documento DDX esistente.
- Creare un oggetto
BLOB
utilizzando il relativo costruttore. L'oggettoBLOB
viene utilizzato per archiviare il documento DDX. - Creare un oggetto
System.IO.FileStream
richiamandone il costruttore e passando un valore stringa che rappresenta la posizione del file del documento DDX e la modalità di apertura del file in. - Creare una matrice di byte che memorizza il contenuto dell'oggetto
System.IO.FileStream
. È possibile determinare le dimensioni della matrice di byte ottenendo la proprietàLength
dell'oggettoSystem.IO.FileStream
. - Compilare la matrice di byte con i dati di flusso richiamando il metodo
Read
dell'oggettoSystem.IO.FileStream
e passando la matrice di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Compilare l'oggetto
BLOB
assegnando la relativa proprietàMTOM
al contenuto della matrice di byte.
- Creare un oggetto
-
Impostare le opzioni di runtime per convalidare il documento DDX.
- Creare un oggetto
AssemblerOptionSpec
che memorizza le opzioni di runtime utilizzando il relativo costruttore. - Impostare l'opzione di runtime che indica al servizio Assembler di convalidare il documento DDX assegnando il valore true al membro dati
validateOnly
dell'oggettoAssemblerOptionSpec
. - Impostare la quantità di informazioni che il servizio Assembler scrive nel file di log assegnando un valore stringa al membro dati
logLevel
dell'oggettoAssemblerOptionSpec
. Metodo Durante la convalida di un documento DDX, è necessario inserire nel file di registro ulteriori informazioni utili per il processo di convalida. È quindi possibile specificare il valoreFINE
oFINER
. Per informazioni sulle opzioni di runtime che è possibile impostare, vedere il riferimento alla classeAssemblerOptionSpec
in Riferimento API di AEM Forms.
- Creare un oggetto
-
Eseguire la convalida.
Richiama il metodo
invokeDDX
dell'oggettoAssemblerServiceClient
e passa i seguenti valori:- Oggetto
BLOB
che rappresenta il documento DDX. - Valore
null
per l'oggettoMap
che in genere memorizza i documenti PDF. - Oggetto
AssemblerOptionSpec
che specifica le opzioni di runtime.
Il metodo
invokeDDX
restituisce un oggettoAssemblerResult
che contiene informazioni che specificano se il documento DDX è valido. - Oggetto
-
Salvare i risultati della convalida in un file di registro.
- Creare un oggetto
System.IO.FileStream
richiamandone il costruttore e passando un valore stringa che rappresenta la posizione del file di log e la modalità di apertura del file in. Verificare che l'estensione del nome file sia .xml. - Creare un oggetto
BLOB
che memorizza le informazioni di registro ottenendo il valore del membro datijobLog
dell'oggettoAssemblerResult
. - Creare una matrice di byte che memorizza il contenuto dell'oggetto
BLOB
. Compilare la matrice di byte ottenendo il valore del campoMTOM
dell'oggettoBLOB
. - Creare un oggetto
System.IO.BinaryWriter
richiamandone il costruttore e passando l'oggettoSystem.IO.FileStream
. - Scrivere il contenuto della matrice di byte in un file PDF richiamando il metodo
Write
dell'oggettoSystem.IO.BinaryWriter
e passando la matrice di byte.
note note NOTE Se il documento DDX non è valido, viene generato un OperationException
. Nell'istruzione catch è possibile ottenere il valore del membrojobLog
dell'oggettoOperationException
. - Creare un oggetto
Consulta anche
Richiamare AEM Forms tramite MTOM