Validerar DDX-dokument validating-ddx-documents
Exempel och exempel i det här dokumentet gäller endast 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 att validera 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 åtgärden invokeDDX för att validera DDX-dokumentet. När du validerar DDX-dokumentet kan du skicka null som mappningsparameter (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-instansen. 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 verifieringsresultaten 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
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 ett
ServiceClientFactory-objekt som innehåller anslutningsegenskaper. - Skapa ett
AssemblerServiceClient-objekt med hjälp av dess konstruktor och skickaServiceClientFactory-objektet.
- Skapa ett
-
Referera till ett befintligt DDX-dokument.
- Skapa ett
java.io.FileInputStream-objekt som representerar DDX-dokumentet med hjälp av dess konstruktor och skicka ett strängvärde som anger platsen för DDX-filen. - Skapa ett
com.adobe.idp.Document-objekt med hjälp av dess konstruktor och skickajava.io.FileInputStream-objektet.
- Skapa ett
-
Ange körningsalternativ för att validera DDX-dokumentet.
- Skapa ett
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 den mängd information som Assembler-tjänsten skriver till loggfilen genom att anropa
AssemblerOptionSpec-objektetsgetLogLevel-metod och skicka ett strängvärde som 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. Du kan därför skicka värdetFINEellerFINER.
- Skapa ett
-
Utför valideringen.
Anropa
AssemblerServiceClient-objektetsinvokeDDX-metod och skicka följande värden:- Ett
com.adobe.idp.Document-objekt som representerar DDX-dokumentet. - Värdet
nullför java.io.Map-objektet som vanligtvis lagrar PDF-dokument. - Ett
com.adobe.livecycle.assembler.client.AssemblerOptionSpec-objekt som anger körningsalternativen.
Metoden
invokeDDXreturnerar ettAssemblerResult-objekt som innehåller information som anger om DDX-dokumentet är giltigt. - Ett
-
Spara valideringsresultaten i en loggfil.
- Skapa ett
java.io.File-objekt och kontrollera att filnamnstillägget är .xml. - Anropa metoden
getJobLogför objektetAssemblerResult. Den här metoden returnerar encom.adobe.idp.Document-instans som innehåller verifieringsinformation. - Anropa
com.adobe.idp.Document-objektetscopyToFile-metod för att kopiera innehållet icom.adobe.idp.Document-objektet till filen.
note note NOTE Om DDX-dokumentet är ogiltigt genereras en OperationException. I catch-satsen kan du anropaOperationException-objektetsgetJobLog-metod. - Skapa ett
Se även
Snabbstart (SOAP läge): Validerar DDX-dokument med Java API (SOAP)
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 ett
AssemblerServiceClient-objekt med hjälp av dess standardkonstruktor. -
Skapa ett
AssemblerServiceClient.Endpoint.Address-objekt med konstruktornSystem.ServiceModel.EndpointAddress. 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ända attributetlc_version. Det här attributet används när du skapar en tjänstreferens. -
Skapa ett
System.ServiceModel.BasicHttpBinding-objekt genom att hämta värdet för fältetAssemblerServiceClient.Endpoint.Binding. Skicka returvärdet tillBasicHttpBinding. -
Ställ in
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 användarnamnet för AEM formulär till fältet
AssemblerServiceClient.ClientCredentials.UserName.UserName. - Tilldela motsvarande lösenordsvärde till fältet
AssemblerServiceClient.ClientCredentials.UserName.Password. - Tilldela konstantvärdet
HttpClientCredentialType.Basictill fältetBasicHttpBindingSecurity.Transport.ClientCredentialType. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnlytill fältetBasicHttpBindingSecurity.Security.Mode.
- Tilldela användarnamnet för AEM formulär till fältet
-
-
Referera till ett befintligt DDX-dokument.
- Skapa ett
BLOB-objekt med hjälp av dess konstruktor. ObjektetBLOBanvänds för att lagra DDX-dokumentet. - Skapa ett
System.IO.FileStream-objekt 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 objektet
System.IO.FileStream. Du kan bestämma storleken på bytearrayen genom att hämtaSystem.IO.FileStream-objektetsLength-egenskap. - Fyll i bytearrayen med strömdata genom att anropa
System.IO.FileStream-objektetsRead-metod och skicka bytearrayen, startpositionen och strömlängden som ska läsas. - Fyll objektet
BLOBgenom att tilldela dessMTOM-egenskap med innehållet i bytearrayen.
- Skapa ett
-
Ange körningsalternativ för att validera DDX-dokumentet.
- Skapa ett
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 den mängd 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. Du kan därför ange värdetFINEellerFINER. Mer information om de körningsalternativ du kan ange finns i klassreferensenAssemblerOptionSpeci AEM Forms API Reference.
- Skapa ett
-
Utför valideringen.
Anropa
AssemblerServiceClient-objektetsinvokeDDX-metod och skicka följande värden:- Ett
BLOB-objekt som representerar DDX-dokumentet. - Värdet
nullför detMap-objekt som vanligtvis lagrar PDF-dokument. - Ett
AssemblerOptionSpec-objekt som anger körningsalternativ.
Metoden
invokeDDXreturnerar ettAssemblerResult-objekt som innehåller information som anger om DDX-dokumentet är giltigt. - Ett
-
Spara valideringsresultaten i en loggfil.
- Skapa ett
System.IO.FileStream-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar platsen för loggfilen och läget som filen ska öppnas i. Kontrollera att filnamnstillägget är .xml. - Skapa ett
BLOB-objekt som lagrar logginformation genom att hämta värdet förAssemblerResult-objektetsjobLog-datamedlem. - Skapa en bytearray som lagrar innehållet i objektet
BLOB. Fyll i bytearrayen genom att hämta värdet förBLOB-objektetsMTOM-fält. - Skapa ett
System.IO.BinaryWriter-objekt genom att anropa dess konstruktor och skickaSystem.IO.FileStream-objektet. - Skriv bytearrayens innehåll till en PDF-fil genom att anropa
System.IO.BinaryWriter-objektetsWrite-metod och skicka bytearrayen.
note note NOTE Om DDX-dokumentet är ogiltigt genereras en OperationException. I catch-satsen kan du hämta värdet förOperationException-objektetsjobLog-medlem. - Skapa ett
Se även