Validerar DDX-dokument validating-ddx-documents
Exempel och exempel i det här dokumentet är bara för AEM Forms i JEE-miljö.
Du kan programmässigt validera ett DDX-dokument som används av Assembler-tjänsten. Med andra ord kan du med hjälp av API:t för Assembler-tjänsten avgöra om ett DDX-dokument är giltigt eller inte. Om du till exempel uppgraderade från en tidigare version av AEM Forms och vill vara säker på att ditt DDX-dokument är giltigt, kan du validera det med hjälp av Assembler-tjänst-API:t.
Sammanfattning av steg summary-of-steps
Så här validerar du ett DX-dokument:
- Inkludera projektfiler.
- Skapa en Assembler-klient.
- Referera till ett befintligt DDX-dokument.
- Ange körningsalternativ för att validera DDX-dokumentet.
- Utför valideringen.
- Spara valideringsresultaten i en loggfil.
Inkludera projektfiler
Inkludera nödvändiga filer i utvecklingsprojektet. Om du skapar ett klientprogram med Java, inkluderar du de JAR-filer som behövs. Om du använder webbtjänster måste du inkludera proxyfilerna.
Följande JAR-filer måste läggas till i projektets klasssökväg:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-assembler-client.jar
- adobe-utilities.jar (krävs om AEM Forms används i JBoss)
- jbossall-client.jar (krävs om AEM Forms används i JBoss)
Om AEM Forms körs på en annan J2EE-programserver än JBoss måste du ersätta filerna adobe-utilities.jar och jbossall-client.jar med JAR-filer som är specifika för J2EE-programservern som AEM Forms är distribuerad på.
Skapa en PDF Assembler-klient
Innan du programmässigt kan utföra en Assembler-åtgärd måste du skapa en Assembler-tjänstklient.
Referera till ett befintligt DDX-dokument
Om du vill validera ett DDX-dokument måste du referera till ett befintligt DDX-dokument.
Ange körningsalternativ för validering av DDX-dokumentet
När du validerar ett DX-dokument måste du ange specifika körningsalternativ som instruerar Assembler-tjänsten att validera DX-dokumentet i stället för att köra det. Du kan också öka mängden information som Assembler-tjänsten skriver till loggfilen.
Utför valideringen
När du har skapat Assembler-tjänstklienten, refererat till DDX-dokumentet och angett körningsalternativ, kan du anropa invokeDDX
åtgärd för att validera DDX-dokumentet. När du validerar DDX-dokumentet kan du skicka det null
som map-parametern (den här parametern lagrar vanligtvis PDF-dokument som Assembler kräver för att utföra de åtgärder som anges i DDX-dokumentet).
Om valideringen misslyckas genereras ett undantag och loggfilen innehåller information som förklarar varför DDX-dokumentet är ogiltigt kan hämtas från OperationException
-instans. Efter den grundläggande XML-tolkningen och schemakontrollen utförs valideringen mot DDX-specifikationen. Alla fel som finns i DDX-dokumentet anges i loggen.
Spara valideringsresultaten i en loggfil
Assembler-tjänsten returnerar valideringsresultaten som du kan skriva till en XML-loggfil. Hur detaljerad Assembler-tjänsten skriver till loggfilen beror på vilket körningsalternativ du anger.
Se även
Validera ett DX-dokument med Java API
Validera ett DX-dokument med webbtjänstens API
Inkludera AEM Forms Java-biblioteksfiler
Programmisk sammanställning av PDF-dokument
Validera ett DX-dokument med Java API validate-a-ddx-document-using-the-java-api
Validera ett DX-dokument med Assembler Service API (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, som adobe-assembler-client.jar, i Java-projektets klassökväg.
-
Skapa en PDF Assembler-klient.
- Skapa en
ServiceClientFactory
objekt som innehåller anslutningsegenskaper. - Skapa en
AssemblerServiceClient
genom att använda konstruktorn och skickaServiceClientFactory
-objekt.
- Skapa en
-
Referera till ett befintligt DDX-dokument.
- Skapa en
java.io.FileInputStream
-objekt som representerar DDX-dokumentet genom att använda dess konstruktor och skicka ett strängvärde som anger platsen för DDX-filen. - Skapa en
com.adobe.idp.Document
genom att använda konstruktorn och skickajava.io.FileInputStream
-objekt.
- Skapa en
-
Ange körningsalternativ för att validera DDX-dokumentet.
- Skapa en
AssemblerOptionSpec
objekt som lagrar körningsalternativ med hjälp av dess konstruktor. - Ange det körningsalternativ som instruerar Assembler-tjänsten att validera DDX-dokumentet genom att anropa
AssemblerOptionSpec
objektets setValidateOnly-metod och skickatrue
. - Ange mängden information som Assembler-tjänsten skriver till loggfilen genom att anropa
AssemblerOptionSpec
objektetsgetLogLevel
och att skicka ett strängvärde uppfyller dina krav. När du validerar ett DX-dokument vill du att mer information ska skrivas till loggfilen som ska vara till hjälp vid valideringsprocessen. Därför kan du skicka värdetFINE
ellerFINER
.
- Skapa en
-
Utför valideringen.
Anropa
AssemblerServiceClient
objektetsinvokeDDX
och skicka följande värden:- A
com.adobe.idp.Document
-objekt som representerar DDX-dokumentet. - Värdet
null
för det java.io.Map-objekt som vanligtvis lagrar PDF-dokument. - A
com.adobe.livecycle.assembler.client.AssemblerOptionSpec
-objekt som anger körningsalternativen.
The
invokeDDX
returnerar enAssemblerResult
-objekt som innehåller information som anger om DDX-dokumentet är giltigt. - A
-
Spara valideringsresultaten i en loggfil.
- Skapa en
java.io.File
och se till att filnamnstillägget är .xml. - Anropa
AssemblerResult
objektetsgetJobLog
-metod. Den här metoden returnerar encom.adobe.idp.Document
-instans som innehåller valideringsinformation. - Anropa
com.adobe.idp.Document
objektetscopyToFile
metod för att kopiera innehållet icom.adobe.idp.Document
till filen.
note note NOTE Om DDX-dokumentet är ogiltigt kan du OperationException
kastas. I catch-satsen kan du anropaOperationException
objektetsgetJobLog
-metod. - Skapa en
Se även
Snabbstart (SOAP-läge): Validera DDX-dokument med Java API (SOAP-läge)
Inkludera AEM Forms Java-biblioteksfiler
Validera ett DX-dokument med webbtjänstens API validate-a-ddx-document-using-the-web-service-api
Validera ett DX-dokument med Assembler Service API (webbtjänsten):
-
Inkludera projektfiler.
Skapa ett Microsoft .NET-projekt som använder MTOM. Kontrollera att du använder följande WSDL-definition:
http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1
.note note NOTE Ersätt localhost med IP-adressen för Forms Server. -
Skapa en PDF Assembler-klient.
-
Skapa en
AssemblerServiceClient
genom att använda dess standardkonstruktor. -
Skapa en
AssemblerServiceClient.Endpoint.Address
genom att användaSystem.ServiceModel.EndpointAddress
konstruktor. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/AssemblerService?blob=mtom
). Du behöver inte användalc_version
-attribut. Det här attributet används när du skapar en tjänstreferens. -
Skapa en
System.ServiceModel.BasicHttpBinding
genom att hämta värdet förAssemblerServiceClient.Endpoint.Binding
fält. Skicka returvärdet tillBasicHttpBinding
. -
Ange
System.ServiceModel.BasicHttpBinding
objektetsMessageEncoding
fält tillWSMessageEncoding.Mtom
. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela AEM formuläranvändarnamn till fältet
AssemblerServiceClient.ClientCredentials.UserName.UserName
. - Tilldela motsvarande lösenordsvärde till fältet
AssemblerServiceClient.ClientCredentials.UserName.Password
. - Tilldela konstantvärdet
HttpClientCredentialType.Basic
till fältetBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnly
till fältetBasicHttpBindingSecurity.Security.Mode
.
- Tilldela AEM formuläranvändarnamn till fältet
-
-
Referera till ett befintligt DDX-dokument.
- Skapa en
BLOB
genom att använda dess konstruktor. TheBLOB
-objektet används för att lagra DDX-dokumentet. - Skapa en
System.IO.FileStream
genom att anropa dess konstruktor och skicka ett strängvärde som representerar filplatsen för DDX-dokumentet och läget som filen ska öppnas i. - Skapa en bytearray som lagrar innehållet i
System.IO.FileStream
-objekt. Du kan bestämma storleken på bytearrayen genom att hämtaSystem.IO.FileStream
objektetsLength
-egenskap. - Fylla i bytearrayen med strömdata genom att anropa
System.IO.FileStream
objektetsRead
och skickar bytearrayen, startpositionen och den flödeslängd som ska läsas. - Fyll i
BLOB
genom att tilldelaMTOM
med bytearrayens innehåll.
- Skapa en
-
Ange körningsalternativ för att validera DDX-dokumentet.
- Skapa en
AssemblerOptionSpec
objekt som lagrar körningsalternativ med hjälp av dess konstruktor. - Ange det körningsalternativ som instruerar Assembler-tjänsten att validera DDX-dokumentet genom att tilldela värdet true till
AssemblerOptionSpec
objektetsvalidateOnly
datamedlem. - Ange mängden information som Assembler-tjänsten skriver till loggfilen genom att tilldela ett strängvärde till
AssemblerOptionSpec
objektetslogLevel
datamedlem. -metod När du validerar ett DX-dokument vill du att mer information ska skrivas till loggfilen som ska vara till hjälp vid valideringsprocessen. Därför kan du ange värdetFINE
ellerFINER
. Mer information om alternativ för körning som du kan ange finns iAssemblerOptionSpec
klassreferens i AEM Forms API-referens.
- Skapa en
-
Utför valideringen.
Anropa
AssemblerServiceClient
objektetsinvokeDDX
och skicka följande värden:- A
BLOB
-objekt som representerar DDX-dokumentet. - Värdet
null
förMap
objekt som vanligtvis lagrar PDF-dokument. - An
AssemblerOptionSpec
objekt som anger körningsalternativ.
The
invokeDDX
returnerar enAssemblerResult
-objekt som innehåller information som anger om DDX-dokumentet är giltigt. - A
-
Spara valideringsresultaten i en loggfil.
- Skapa en
System.IO.FileStream
genom att anropa dess konstruktor och skicka ett strängvärde som representerar filplatsen för loggfilen och läget som filen ska öppnas i. Kontrollera att filnamnstillägget är .xml. - Skapa en
BLOB
objekt som lagrar logginformation genom att hämta värdet förAssemblerResult
objektetsjobLog
datamedlem. - Skapa en bytearray som lagrar innehållet i
BLOB
-objekt. Fylla i bytearrayen genom att hämta värdet förBLOB
objektetsMTOM
fält. - Skapa en
System.IO.BinaryWriter
genom att anropa dess konstruktor och skickaSystem.IO.FileStream
-objekt. - Skriv bytearrayens innehåll till en PDF-fil genom att anropa
System.IO.BinaryWriter
objektetsWrite
och skicka bytearrayen.
note note NOTE Om DDX-dokumentet är ogiltigt kan du OperationException
kastas. I catch-satsen kan du hämta värdet förOperationException
objektetsjobLog
medlem. - Skapa en
Se även