Sie können ein DDX-Dokument programmgesteuert validieren, das vom Assembler-Dienst verwendet wird. Mit der Assembler-Dienst-API können Sie also feststellen, ob ein DDX-Dokument gültig ist. Wenn Sie beispielsweise von einer früheren AEM Forms-Version aktualisiert haben und sicherstellen möchten, dass Ihr DDX-Dokument gültig ist, können Sie es mithilfe der Assembler-Dienst-API überprüfen.
Weitere Informationen zum Assembler-Dienst finden Sie unter Dienstreferenz für AEM Forms.
Weitere Informationen zu einem DDX-Dokument finden Sie unter Assembler-Dienst und DDX-Referenz.
Führen Sie die folgenden Aufgaben aus, um ein DDX-Dokument zu validieren:
Projektdateien einschließen
Schließen Sie die erforderlichen Dateien in Ihr Entwicklungsprojekt ein. Wenn Sie eine Clientanwendung mit Java erstellen, schließen Sie die erforderlichen JAR-Dateien ein. Wenn Sie Webdienste verwenden, stellen Sie sicher, dass Sie die Proxy-Dateien einschließen.
Die folgenden JAR-Dateien müssen zum Klassenpfad Ihres Projekts hinzugefügt werden:
Wenn AEM Forms auf einem anderen unterstützten J2EE-Anwendungsserver als JBoss bereitgestellt wird, müssen Sie die Dateien "adobe-utilities.jar"und "jbossall-client.jar"durch JAR-Dateien ersetzen, die für den J2EE-Anwendungsserver spezifisch sind, auf dem AEM Forms bereitgestellt wird.
PDF Assembler-Client erstellen
Bevor Sie einen Assembler-Vorgang programmgesteuert ausführen können, müssen Sie einen Assembler-Dienst-Client erstellen.
Vorhandenes DDX-Dokument referenzieren
Um ein DDX-Dokument zu validieren, müssen Sie auf ein vorhandenes DDX-Dokument verweisen.
Festlegen von Laufzeitoptionen zum Überprüfen des DDX-Dokuments
Beim Validieren eines DDX-Dokuments müssen Sie bestimmte Laufzeitoptionen festlegen, die den Assembler-Dienst anweisen, das DDX-Dokument zu validieren, anstatt es auszuführen. Außerdem können Sie die Menge an Informationen erhöhen, die der Assembler-Dienst in die Protokolldatei schreibt.
Validierung durchführen
Nachdem Sie den Assembler-Dienst-Client erstellt, auf das DDX-Dokument verwiesen und Laufzeitoptionen festgelegt haben, können Sie die invokeDDX
-Vorgang zum Überprüfen des DDX-Dokuments. Bei der Validierung des DDX-Dokuments können Sie null
als map -Parameter (dieser Parameter speichert normalerweise PDF-Dokumente, die der Assembler benötigt, um die im DDX-Dokument angegebenen Vorgänge auszuführen).
Wenn die Validierung fehlschlägt, wird eine Ausnahme ausgelöst und die Protokolldatei enthält Details, die erklären, warum das DDX-Dokument ungültig ist, können Sie von der OperationException
-Instanz. Nach der grundlegenden XML-Analyse und Schemakonferenz wird die Validierung anhand der DDX-Spezifikation durchgeführt. Alle im DDX-Dokument enthaltenen Fehler werden im Protokoll angegeben.
Die Prüfergebnisse in einer Protokolldatei speichern
Der Assembler-Dienst gibt die Überprüfungsergebnisse zurück, die Sie in eine XML-Protokolldatei schreiben können. Die Detailtiefe, die der Assembler-Dienst in die Protokolldatei schreibt, hängt von der von Ihnen festgelegten Laufzeitoption ab.
Siehe auch
Überprüfen eines DDX-Dokuments mit der Java-API
Validieren eines DDX-Dokuments mithilfe der Webdienst-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Programmgesteuertes Zusammenstellen von PDF-Dokumenten
Validieren Sie ein DDX-Dokument mithilfe der Assembler Service-API (Java):
Projektdateien einschließen.
Schließen Sie Client-JAR-Dateien wie adobe-assembler-client.jar in den Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie einen PDF Assembler-Client.
ServiceClientFactory
-" -Objekt, das Verbindungseigenschaften enthält.AssemblerServiceClient
-Objekt durch Verwendung seines Konstruktors und Übergabe des ServiceClientFactory
-Objekt.Referenzieren Sie ein vorhandenes DDX-Dokument.
java.io.FileInputStream
-Objekt, das das DDX-Dokument darstellt, indem es seinen Konstruktor verwendet und einen string -Wert übergibt, der den Speicherort der DDX-Datei angibt.com.adobe.idp.Document
-Objekt, indem Sie seinen Konstruktor verwenden und das java.io.FileInputStream
-Objekt übergeben.Legen Sie Laufzeitoptionen fest, um das DDX-Dokument zu validieren.
AssemblerOptionSpec
-Objekt, das Laufzeitoptionen mithilfe seines Konstruktors speichert.AssemblerOptionSpec
setValidateOnly -Methode des Objekts und Übergeben true
.AssemblerOptionSpec
-Objekt getLogLevel
-Methode verwenden und einen Zeichenfolgenwert übergeben, erfüllt Ihre Anforderungen. Beim Validieren eines DDX-Dokuments möchten Sie weitere Informationen in die Protokolldatei schreiben, die den Validierungsprozess unterstützen. Daher können Sie den Wert FINE
oder FINER
.Führen Sie die Überprüfung durch.
Rufen Sie die AssemblerServiceClient
-Objekt invokeDDX
-Methode verwenden und die folgenden Werte übergeben:
com.adobe.idp.Document
-Objekt, das das DDX-Dokument darstellt.null
für das java.io.Map -Objekt, das normalerweise PDF-Dokumente speichert.com.adobe.livecycle.assembler.client.AssemblerOptionSpec
-Objekt, das die Laufzeitoptionen angibt.Die invokeDDX
-Methode gibt eine AssemblerResult
-Objekt, das Informationen enthält, die angeben, ob das DDX-Dokument gültig ist.
Speichern Sie die Validierungsergebnisse in einer Protokolldatei.
java.io.File
-Objekt ein und stellen Sie sicher, dass die Dateinamenerweiterung .xml lautet.AssemblerResult
-Objekt getJobLog
-Methode. Diese Methode gibt eine com.adobe.idp.Document
-Instanz, die Validierungsinformationen enthält.com.adobe.idp.Document
-Objekt copyToFile
-Methode zum Kopieren des Inhalts der com.adobe.idp.Document
-Objekt in die Datei ein.Wenn das DDX-Dokument ungültig ist, wird ein OperationException
geworfen wird. Innerhalb der catch-Anweisung können Sie die OperationException
-Objekt getJobLog
-Methode.
Siehe auch
Schnellstart (SOAP-Modus): Validieren von DDX-Dokumenten mit der Java-API (SOAP-Modus)
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Validieren Sie ein DDX-Dokument mithilfe der Assembler-Dienst-API (Webdienst):
Projektdateien einschließen.
Erstellen Sie ein Microsoft .NET-Projekt, das MTOM verwendet. Stellen Sie sicher, dass Sie die folgende WSDL-Definition verwenden: http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1
.
Ersetzen Sie localhost durch die IP-Adresse des Formularservers.
Erstellen Sie einen PDF Assembler-Client.
Erstellen Sie eine AssemblerServiceClient
-Objekt mithilfe des Standardkonstruktors.
Erstellen Sie eine AssemblerServiceClient.Endpoint.Address
-Objekt mithilfe der System.ServiceModel.EndpointAddress
-Konstruktor. Übergeben Sie einen string -Wert, der die WSDL an den AEM Forms-Dienst angibt (z. B. http://localhost:8080/soap/services/AssemblerService?blob=mtom
). Sie müssen die lc_version
-Attribut. Dieses Attribut wird verwendet, wenn Sie eine Dienstreferenz erstellen.
Erstellen Sie eine System.ServiceModel.BasicHttpBinding
-Objekt durch Abrufen des Werts der AssemblerServiceClient.Endpoint.Binding
-Feld. Wandeln Sie den Rückgabewert in BasicHttpBinding
um.
Legen Sie die System.ServiceModel.BasicHttpBinding
-Objekt MessageEncoding
-Feld zu WSMessageEncoding.Mtom
. Dieser Wert stellt sicher, dass MTOM verwendet wird.
Aktivieren Sie die einfache HTTP-Authentifizierung, indem Sie die folgenden Aufgaben ausführen:
AssemblerServiceClient.ClientCredentials.UserName.UserName
.AssemblerServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
zum Feld BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
zum Feld BasicHttpBindingSecurity.Security.Mode
.Referenzieren Sie ein vorhandenes DDX-Dokument.
BLOB
, indem Sie den Konstruktor verwenden. Die BLOB
-Objekt wird zum Speichern des DDX-Dokuments verwendet.System.IO.FileStream
-Objekt, indem Sie seinen Konstruktor aufrufen und einen string -Wert übergeben, der den Dateispeicherort des DDX-Dokuments und den Modus zum Öffnen der Datei darstellt.System.IO.FileStream
-Objekt. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die System.IO.FileStream
-Objekt Length
-Eigenschaft.System.IO.FileStream
-Objekt Read
-Methode verwenden und das Byte-Array, die Startposition und die zu lesende Stream-Länge übergeben.BLOB
Objekt durch Zuweisen seiner MTOM
-Eigenschaft mit dem Inhalt des Byte-Arrays.Legen Sie Laufzeitoptionen fest, um das DDX-Dokument zu validieren.
AssemblerOptionSpec
-Objekt, das Laufzeitoptionen mithilfe seines Konstruktors speichert.AssemblerOptionSpec
-Objekt validateOnly
Datenelement.AssemblerOptionSpec
-Objekt logLevel
Datenelement. -Methode Beim Validieren eines DDX-Dokuments möchten Sie weitere Informationen in die Protokolldatei schreiben, die den Validierungsprozess unterstützen. Daher können Sie den Wert FINE
oder FINER
. Informationen zu den Laufzeitoptionen, die Sie festlegen können, finden Sie unter AssemblerOptionSpec
Klassenreferenz in AEM Forms API-Referenz.Führen Sie die Überprüfung durch.
Rufen Sie die AssemblerServiceClient
-Objekt invokeDDX
-Methode verwenden und die folgenden Werte übergeben:
BLOB
-Objekt, das das DDX-Dokument darstellt.null
für Map
-Objekt, das normalerweise PDF-Dokumente speichert.AssemblerOptionSpec
-Objekt, das Laufzeitoptionen angibt.Die invokeDDX
-Methode gibt eine AssemblerResult
-Objekt, das Informationen enthält, die angeben, ob das DDX-Dokument gültig ist.
Speichern Sie die Validierungsergebnisse in einer Protokolldatei.
System.IO.FileStream
-Objekt, indem Sie seinen Konstruktor aufrufen und einen string -Wert übergeben, der den Dateispeicherort der Protokolldatei und den Modus zum Öffnen der Datei darstellt. Stellen Sie sicher, dass die Dateinamenerweiterung .xml lautet.BLOB
-Objekt, das Protokollinformationen speichert, indem der Wert des AssemblerResult
-Objekt jobLog
Datenelement.BLOB
-Objekt. Füllen Sie das Byte-Array, indem Sie den Wert der BLOB
-Objekt MTOM
-Feld.System.IO.BinaryWriter
-Objekt durch Aufrufen des Konstruktors und Übergeben des System.IO.FileStream
-Objekt.System.IO.BinaryWriter
-Objekt Write
-Methode verwenden und das Byte-Array übergeben.Wenn das DDX-Dokument ungültig ist, wird ein OperationException
geworfen wird. Innerhalb der catch-Anweisung können Sie den Wert der OperationException
-Objekt jobLog
Mitglied.
Siehe auch
AEM Forms mithilfe von MTOM aufrufen