API Quick Starts (Code Examples) > Assembler Service API Quick Starts > Quick Start: Validating DDX documents using the Java API

Quick Start: Validating DDX documents using the Java API
The following Java code example validates a DDX document based on a file named shell.xml. For informtion about the shell.xml DDX document used in this code example, see Programmatically Assembling PDF Documents.
/*
 * This Java Quick Start uses the following JAR files
 * 1. adobe-assembler-client.jar
 * 2. adobe-livecycle-client.jar
 * 3. adobe-usermanager-client.jar
 * 4. adobe-utilities.jar
 * 5. jbossall-client.jar (use a different JAR file if LiveCycle ES is not deployed
 * on JBoss)
 * 
 * These JAR files are located in the following path:
 * <install directory>/Adobe/LiveCycle8/LiveCycle_ES_SDK/client-libs
 * 
 * For complete details about the location of these JAR files, 
 * see "Including LiveCycle ES library files" in Programming with 
 * LiveCycle ES
 */
import com.adobe.livecycle.assembler.client.*;
import java.util.*;
import java.io.File;
import java.io.FileInputStream;
import com.adobe.idp.Document;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
 
public class ValidateDDX
{
	public static void main(String[] args) {
		
		boolean isValid = false;
        Document outLog = null;
 
		try{
			//Set connection properties required to invoke LiveCycle ES								
			Properties connectionProps = new Properties();
			connectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_EJB_ENDPOINT, "jnp://localhost:1099");
			connectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_EJB_PROTOCOL);          
			connectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss");
			connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator");
			connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");
			
			//Create a ServiceClientFactory instance
			ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);
			
			//Create an AssemblerServiceClient object
			AssemblerServiceClient assemblerClient = new AssemblerServiceClient(myFactory);
 
			//Create a FileInputStream object based on an existing DDX file 
			FileInputStream myDDXFile = new FileInputStream("C:\\shell.xml"); 
 
			//Create a Document object based on the DDX file
			Document myDDX = new Document(myDDXFile); 
 
			//Create an AssemblerOptionsSpec object
			AssemblerOptionSpec assemblerSpec = new AssemblerOptionSpec();
			assemblerSpec.setValidateOnly(true);
			assemblerSpec.setLogLevel("FINE");
			assemblerSpec.setFailOnError(false);
			
			//Validate the DDX document
			AssemblerResult jobResult = assemblerClient.invokeDDX(myDDX,null,assemblerSpec);   
			outLog = jobResult.getJobLog();
			isValid = true;
		
		}catch (Exception e) {
			 if (e instanceof OperationException) {
                 OperationException oe = (OperationException) e;
                 outLog = oe.getJobLog();
                 File myOutFile = new File("C:\\test.xml"); 
                 outLog.copyToFile(myOutFile);
             }
			 e.printStackTrace();
		 } finally {
            if (outLog != null) {
                File myOutFile = new File("C:\\test.xml"); 
                outLog.copyToFile(myOutFile);
           }
       if (isValid) {
             // do something
       } else {
            // do something else
          }
       }
	}
}

API Quick Starts (Code Examples) > Assembler Service API Quick Starts > Quick Start: Validating DDX documents using the Java API

Programming with LiveCycle ES (LiveDocs)
Adobe LiveCycle ES Update 1

 

Send me an e-mail when comments are added to this page | Comment Report

Current page: http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/help/001484.html