Sie können ein DDX-Dokument, das vom Assembler-Dienst verwendet wird, programmgesteuert validieren. Mit der Assembler-Dienst-API können Sie also festlegen, ob ein DDX-Dokument gültig ist. Wenn Sie beispielsweise ein Upgrade von einer früheren AEM Forms-Version durchgeführt 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 Dienste-Referenz für AEM Forms.
Weitere Informationen zu einem DDX-Dokument finden Sie unter Assembler-Dienst und DDX-Referenz.
So validieren Sie ein DDX-Dokument:
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 Proxydateien einschließen.
Die folgenden JAR-Dateien müssen dem 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 durchführen können, müssen Sie einen Assembler-Dienstclient erstellen.
Ein vorhandenes DDX-Dokument referenzieren
Um ein DDX-Dokument zu validieren, müssen Sie auf ein vorhandenes DDX-Dokument verweisen.
Festlegen von Laufzeitoptionen zur Validierung des DDX-Dokuments
Bei der Validierung 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-Dienstclient erstellt haben, auf das DDX-Dokument verweisen und Laufzeitoptionen festgelegt haben, können Sie den Vorgang invokeDDX
aufrufen, um das DDX-Dokument zu validieren. Bei der Validierung des DDX-Dokuments können Sie null
als Map-Parameter übergeben (dieser Parameter speichert normalerweise PDF-Dokumente, die der Assembler zur Ausführung der im DDX-Dokument angegebenen Vorgänge benötigt).
Wenn die Überprüfung fehlschlägt, wird eine Ausnahme ausgelöst und die Protokolldatei enthält Details, die erklären, warum das DDX-Dokument ungültig ist, kann von der OperationException
-Instanz abgerufen werden. Nach der grundlegenden XML-Parsing- und Schema-Prüfung 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 Menge der Details, die der Assembler-Dienst in die Protokolldatei schreibt, hängt von der von Ihnen festgelegten Laufzeitoption ab.
Siehe auch
Validieren eines DDX-Dokuments mithilfe 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 eines DDX-Dokuments mithilfe der Assembler Service API (Java):
Schließen Sie Projektdateien ein.
Schließen Sie Client-JAR-Dateien wie "adobe-assembler-client.jar"im Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie einen PDF Assembler-Client.
ServiceClientFactory
-" -Objekt, das Verbindungseigenschaften enthält.AssemblerServiceClient
-Objekt, indem Sie den Konstruktor verwenden und das ServiceClientFactory
-Objekt übergeben.Verweisen Sie auf ein vorhandenes DDX-Dokument.
java.io.FileInputStream
-Objekt, das das DDX-Dokument darstellt, indem Sie den Konstruktor verwenden und einen Zeichenfolgenwert übergeben, 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 des Konstruktors speichert.true
übergeben.AssemblerOptionSpec
getLogLevel
-Methode des Objekts aufrufen und einen Zeichenfolgenwert übergeben, der Ihre Anforderungen erfüllt. AssemblerOptionSpec
Bei der Validierung eines DDX-Dokuments sollen weitere Informationen in die Protokolldatei geschrieben werden, die den Validierungsprozess unterstützen. Daher können Sie den Wert FINE
oder FINER
übergeben.Führen Sie die Überprüfung durch.
Rufen Sie die invokeDDX
-Methode des Objekts auf und übergeben Sie die folgenden Werte:AssemblerServiceClient
com.adobe.idp.Document
-Objekt, das das DDX-Dokument darstellt.null
für das java.io.Map-Objekt, in dem PDF-Dokumente normalerweise gespeichert werden.com.adobe.livecycle.assembler.client.AssemblerOptionSpec
-Objekt, das die Laufzeitoptionen angibt.Die invokeDDX
-Methode gibt ein AssemblerResult
-Objekt zurück, das Informationen darüber enthält, ob das DDX-Dokument gültig ist.
Speichern Sie die Überprüfungsergebnisse in einer Protokolldatei.
java.io.File
-Objekt und stellen Sie sicher, dass die Dateinamenerweiterung .xml lautet.AssemblerResult
-Methode des Objekts getJobLog
auf. Diese Methode gibt eine com.adobe.idp.Document
-Instanz zurück, die Überprüfungsinformationen enthält.copyToFile
-Methode des Objekts auf, um den Inhalt des com.adobe.idp.Document
-Objekts in die Datei zu kopieren.com.adobe.idp.Document
Wenn das DDX-Dokument ungültig ist, wird ein OperationException
ausgelöst. Innerhalb der catch-Anweisung können Sie die OperationException
-Methode des Objekts getJobLog
aufrufen.
Siehe auch
Quick Beginn (SOAP-Modus): Validieren von DDX-Dokumenten mit der Java-API (SOAP-Modus)
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Validieren eines DDX-Dokuments mithilfe der Assembler Service API (Webdienst):
Schließen Sie Projektdateien ein.
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 ein AssemblerServiceClient
-Objekt mit dem Standardkonstruktor.
Erstellen Sie ein AssemblerServiceClient.Endpoint.Address
-Objekt mit dem Konstruktor System.ServiceModel.EndpointAddress
. Übergeben Sie einen Zeichenfolgenwert, der den WSDL-Wert an den AEM Forms-Dienst angibt (z. B. http://localhost:8080/soap/services/AssemblerService?blob=mtom
). Sie müssen das Attribut lc_version
nicht verwenden. Dieses Attribut wird verwendet, wenn Sie eine Dienstreferenz erstellen.
Erstellen Sie ein System.ServiceModel.BasicHttpBinding
-Objekt, indem Sie den Wert des Felds AssemblerServiceClient.Endpoint.Binding
abrufen. Wandeln Sie den Rückgabewert in BasicHttpBinding
um.
Setzen Sie das Feld System.ServiceModel.BasicHttpBinding
des Objekts auf MessageEncoding
. 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
den AEM Forms-Benutzernamen zu.AssemblerServiceClient.ClientCredentials.UserName.Password
den entsprechenden Kennwortwert zu.BasicHttpBindingSecurity.Transport.ClientCredentialType
den Konstantenwert HttpClientCredentialType.Basic
zu.BasicHttpBindingSecurity.Security.Mode
den Konstantenwert BasicHttpSecurityMode.TransportCredentialOnly
zu.Verweisen Sie auf ein vorhandenes DDX-Dokument.
BLOB
, indem Sie den Konstruktor verwenden. Das BLOB
-Objekt wird zum Speichern des DDX-Dokuments verwendet.System.IO.FileStream
-Objekt, indem Sie den Konstruktor aufrufen und einen Zeichenfolgenwert übergeben, der den Dateispeicherort des DDX-Dokuments und den Modus zum Öffnen der Datei darstellt.System.IO.FileStream
speichert. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die System.IO.FileStream
-Eigenschaft des Objekts Length
abrufen.Read
-Methode des Objekts aufrufen und das Bytearray, die Startposition und die zu lesende Stream-Länge übergeben.System.IO.FileStream
BLOB
-Objekt, indem Sie seine MTOM
-Eigenschaft mit dem Inhalt des Byte-Arrays zuweisen.Legen Sie Laufzeitoptionen fest, um das DDX-Dokument zu validieren.
AssemblerOptionSpec
-Objekt, das Laufzeitoptionen mithilfe des Konstruktors speichert.AssemblerOptionSpec
-Datenmember des Objekts validateOnly
zugewiesen wird.AssemblerOptionSpec
-Datenmember des Objekts logLevel
einen Zeichenfolgenwert zuweisen. -Methode Bei der Validierung eines DDX-Dokuments sollten weitere Informationen in die Protokolldatei geschrieben werden, die den Validierungsprozess unterstützen. Daher können Sie den Wert FINE
oder FINER
angeben. Informationen zu den verfügbaren Laufzeitoptionen finden Sie in der AssemblerOptionSpec
-Klassenreferenz in AEM Forms API Reference.Führen Sie die Überprüfung durch.
Rufen Sie die invokeDDX
-Methode des Objekts auf und übergeben Sie die folgenden Werte:AssemblerServiceClient
BLOB
-Objekt, das das DDX-Dokument darstellt.null
für das Map
-Objekt, das normalerweise PDF-Dokumente speichert.AssemblerOptionSpec
-Objekt, das Laufzeitoptionen angibt.Die invokeDDX
-Methode gibt ein AssemblerResult
-Objekt zurück, das Informationen darüber enthält, ob das DDX-Dokument gültig ist.
Speichern Sie die Überprüfungsergebnisse in einer Protokolldatei.
System.IO.FileStream
-Objekt, indem Sie den Konstruktor aufrufen und einen Zeichenfolgenwert ü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 Sie den Wert des AssemblerResult
-Datenelements des Objekts jobLog
abrufen.BLOB
speichert. Füllen Sie das Bytearray, indem Sie den Wert des Felds BLOB
des Objekts MTOM
abrufen.System.IO.BinaryWriter
-Objekt, indem Sie den Konstruktor aufrufen und das System.IO.FileStream
-Objekt übergeben.Write
-Methode des Objekts aufrufen und das Bytearray übergeben.System.IO.BinaryWriter
Wenn das DDX-Dokument ungültig ist, wird ein OperationException
ausgelöst. Innerhalb der catch-Anweisung können Sie den Wert des OperationException
-Objekts jobLog
-Mitglieds abrufen.
Siehe auch
Aufrufen von AEM Forms mit MTOM