Die Beispiele in diesem Dokument gelten nur für eine AEM Forms on JEE-Umgebung.
So validieren Sie ein DDX-Dokument mithilfe der Assembler Service-API (Webservice):
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, indem Sie seinen standardmäßigen Konstruktor verwenden.
Erstellen Sie ein AssemblerServiceClient.Endpoint.Address
-Objekt mithilfe des System.ServiceModel.EndpointAddress
-Konstruktors. Übergeben Sie einen Zeichenfolgenwert mit der WSDL an den AEM Forms-Service (z. B. http://localhost:8080/soap/services/AssemblerService?blob=mtom
). Sie müssen das lc_version
-Attribut nicht verwenden. Dieses Attribut wird verwendet, wenn Sie einen Service-Verweis erstellen.
Erstellen Sie ein System.ServiceModel.BasicHttpBinding
-Objekr, indem Sie den Wert des Felds AssemblerServiceClient.Endpoint.Binding
abrufen. Wandeln Sie den Rückgabewert in BasicHttpBinding
um.
Legen Sie das MessageEncoding
-Feld des System.ServiceModel.BasicHttpBinding
-Objekts auf WSMessageEncoding.Mtom
fest. Dieser Wert stellt sicher, dass MTOM verwendet wird.
Aktivieren Sie die einfache HTTP-Authentifizierung, indem Sie die folgenden Schritte ausführen:
AssemblerServiceClient.ClientCredentials.UserName.UserName
den AEM Forms-Benutzernamen zu.AssemblerServiceClient.ClientCredentials.UserName.Password
den entsprechenden Passwortwert zu.BasicHttpBindingSecurity.Transport.ClientCredentialType
den konstanten Wert HttpClientCredentialType.Basic
zu.BasicHttpBindingSecurity.Security.Mode
den Konstantenwert BasicHttpSecurityMode.TransportCredentialOnly
zu.Referenzieren Sie ein vorhandenes DDX-Dokument.
BLOB
, indem Sie den Konstruktor verwenden. Das BLOB
-Objekt wird zum Speichern des DDX-Dokuments verwendet.System.IO.FileStream
, indem Sie den Konstruktor aufrufen und einen String-Wert übergeben, der den Dateispeicherort des DDX-Dokuments und den Modus, in dem die Datei geöffnet werden soll, repräsentiert.System.IO.FileStream
-Objekts speichert. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die Length
-Eigenschaft des System.IO.FileStream
-Objekts abrufen.Read
-Methode des System.IO.FileStream
-Objekts aufrufen und das Byte-Array, die Startposition und die zu lesende Stream-Länge übergeben.BLOB
-Objekt, indem Sie seiner MTOM
-Eigenschaft den Inhalt des Byte-Arrays zuweisen.Legen Sie Laufzeitoptionen fest, um das DDX-Dokument zu validieren.
AssemblerOptionSpec
-Objekt, das Laufzeitoptionen speichert, indem Sie seinen Konstruktor verwenden.validateOnly
des AssemblerOptionSpec
-Objekts den Wert „true“ zuweisen.logLevel
des AssemblerOptionSpec
-Objekts einen Zeichenfolgenwert zuweisen. Bei der Validierung eines DDX-Dokuments sollten mehr Informationen in die Protokolldatei geschrieben werden, um den Validierungsprozess zu unterstützen. Daher können Sie den Wert FINE
oder FINER
angeben. Weitere Informationen zu den Laufzeitoptionen, die Sie festlegen können, finden Sie in der AssemblerOptionSpec
-Klassenreferenz in der AEM Forms-API-Referenz.Führen Sie die Überprüfung durch.
Rufen Sie die Methode invokeDDX
des AssemblerServiceClient
-Objekts auf und übergeben Sie die folgenden Werte:
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 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 ihm 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 jobLog
-Datenelements des AssemblerResult
-Objekts abrufen.BLOB
-Objekts gespeichert wird. Füllen Sie das Byte-Array, indem Sie den Wert aus dem MTOM
-Feld des BLOB
-Objekts abrufen.System.IO.BinaryWriter
-Objekt, indem Sie seinen Konstruktor verwenden und das System.IO.FileStream
-Objekt übergeben.Write
-Methode des System.IO.BinaryWriter
-Objekts aufrufen und ihr das Byte-Array übergeben.Wenn das DDX-Dokument ungültig ist, wird eine OperationException
ausgelöst. Innerhalb der catch-Anweisung können Sie den Wert des jobLog
-Elements des OperationException
-Objekts abrufen.
Siehe auch
AEM Forms mithilfe von MTOM aufrufen