O Java API Quick Start (SOAP) está disponível para o serviço do Application Manager.
Início rápido: implantação de aplicativos usando a API Java (SOAP)
Início rápido: remoção de um aplicativo usando a API Java (SOAP)
As APIs do gerenciador de aplicativos são compatíveis apenas com arquivos AEM Forms LCA. Ele não suporta arquivos LCA do LiveCycle ES2 e ES4.
As operações do AEM Forms podem ser executadas usando a API altamente tipada do AEM Forms e o modo de conexão deve ser definido como SOAP.
O Início rápido da API Java (SOAP) na programação com formulários AEM é baseado na Forms se você estiver usando outro sistema operacional, como o Unix, substituir caminhos específicos do Windows por caminhos compatíveis com o sistema operacional aplicável. Da mesma forma, se estiver usando outro servidor de aplicações J2EE, certifique-se de especificar propriedades de conexão válidas. Consulte Definindo propriedades de conexão.
O exemplo de código Java a seguir importa um aplicativo com base em um arquivo LCA existente chamado EncryptDocument.lca.
/*
* This Java Quick Start uses the SOAP mode and contains the following JAR files
* in the class path:
* 1. adobe-livecycle-client.jar
* 2. adobe-usermanager-client.jar
* 3. activation.jar (required for SOAP mode)
* 4. axis.jar (required for SOAP mode)
* 5. commons-codec-1.3.jar (required for SOAP mode)
* 6. commons-collections-3.2.jar (required for SOAP mode)
* 7. commons-discovery.jar (required for SOAP mode)
* 8. commons-logging.jar (required for SOAP mode)
* 9. dom3-xml-apis-2.5.0.jar (required for SOAP mode)
* 10. jaxen-1.1-beta-9.jar (required for SOAP mode)
* 11. jaxrpc.jar (required for SOAP mode)
* 12. log4j.jar (required for SOAP mode)
* 13. mail.jar (required for SOAP mode)
* 14. saaj.jar (required for SOAP mode)
* 15. wsdl4j.jar (required for SOAP mode)
* 16. xalan.jar (required for SOAP mode)
* 17. xbean.jar (required for SOAP mode)
* 18. xercesImpl.jar (required for SOAP mode)
* 19. adobe-workflow-client-sdk.jar
* 20. adobe-applicationmanager-client-sdk.jar
* The JBoss files must be kept in the jboss\client folder. You can copy the client folder to
* your local development environment and then include the 3 JBoss JAR files in your class path
*
* These JAR files are in the following path:
* <install directory>/sdk/client-libs/common
*
*
* <install directory>/jboss/bin/client
*
* If you want to invoke a remote Forms Server instance and there is a
* firewall between the client application and the server, then it is
* recommended that you use the SOAP mode. When using the SOAP mode,
* you have to include additional JAR files in the following
* path
* <install directory>/sdk/client-libs/thirdparty
*
* For information about the SOAP
* mode and the additional JAR files that need to be included,
* see "Setting connection properties" in Programming
* with AEM Forms
*/
import java.io.FileInputStream;
import java.util.*;
import com.adobe.idp.Document;
import com.adobe.idp.applicationmanager.application.ApplicationStatus;
import com.adobe.idp.applicationmanager.client.ApplicationManager;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
public class DeployApplication {
public static void main(String[] args) {
try{
//Set connection properties required to invoke AEM Forms
Properties connectionProps = new Properties();
connectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_SOAP_ENDPOINT, "https://'[server]:[port]'");
connectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_SOAP_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 object
ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);
//Get the AEM Forms application to deploy
FileInputStream fileApp = new FileInputStream("C:\\Adobe\EncryptDocument.lca");
Document lcApp = new Document(fileApp);
//Create an ApplicationManager object
ApplicationManager appManager = new ApplicationManager(myFactory);
//Import the application into the production server
ApplicationStatus appStatus = appManager.importApplicationArchive(lcApp);
int status = appStatus.getStatusCode();
//Determine if the application was successfully deployed
if (status==1)
System.out.println("The application was successfully deployed");
else
System.out.println("The application was not successfully deployed. The status is "+status);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
O exemplo de código Java a seguir remove um aplicativo chamado EncryptDocument.
/*
* This Java Quick Start uses the SOAP mode and contains the following JAR files
* in the class path:
* 1. adobe-livecycle-client.jar
* 2. adobe-usermanager-client.jar
* 3. activation.jar (required for SOAP mode)
* 4. axis.jar (required for SOAP mode)
* 5. commons-codec-1.3.jar (required for SOAP mode)
* 6. commons-collections-3.2.jar (required for SOAP mode)
* 7. commons-discovery.jar (required for SOAP mode)
* 8. commons-logging.jar (required for SOAP mode)
* 9. dom3-xml-apis-2.5.0.jar (required for SOAP mode)
* 10. jaxen-1.1-beta-9.jar (required for SOAP mode)
* 11. jaxrpc.jar (required for SOAP mode)
* 12. log4j.jar (required for SOAP mode)
* 13. mail.jar (required for SOAP mode)
* 14. saaj.jar (required for SOAP mode)
* 15. wsdl4j.jar (required for SOAP mode)
* 16. xalan.jar (required for SOAP mode)
* 17. xbean.jar (required for SOAP mode)
* 18. xercesImpl.jar (required for SOAP mode)
* 19. adobe-workflow-client-sdk.jar
* 20. adobe-applicationmanager-client-sdk.jar
*
* The JBoss files must be kept in the jboss\client folder. You can copy the client folder to
* your local development environment and then include the 3 JBoss JAR files in your class path
*
* These JAR files are in the following path:
* <install directory>/sdk/client-libs/common
*
*
* <install directory>/jboss/bin/client
*
* If you want to invoke a remote Forms Server instance and there is a
* firewall between the client application and the server, then it is
* recommended that you use the SOAP mode. When using the SOAP mode,
* you have to include additional JAR files in the following
* path
* <install directory>/sdk/client-libs/thirdparty
*
* For information about the SOAP
* mode and the additional JAR files that need to be included,
* see "Setting connection properties" in Programming
* with AEM Forms
*/
import java.util.*;
import com.adobe.idp.applicationmanager.application.Application;
import com.adobe.idp.applicationmanager.application.ApplicationId;
import com.adobe.idp.applicationmanager.client.ApplicationManager;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
public class RemoveApplication {
public static void main(String[] args) {
try{
//Set connection properties required to invoke AEM Forms
Properties connectionProps = new Properties();
connectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_SOAP_ENDPOINT, "https://'[server]:[port]'");
connectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_SOAP_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 object
ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);
//Create a ComponentRegistryClient object
ApplicationManager appManager = new ApplicationManager(myFactory);
//Get all the deployed applications
List allApps = appManager.getApplications();
//Iterate through the applications
Iterator iter= allApps.iterator();
while (iter.hasNext()) {
//Cast each element to an Application object
Application myApplication = (Application)iter.next();
ApplicationId appID = myApplication.getApplicationId();
String appName = appID.getApplicationName();
System.out.println("The name of the AEM Forms application is "+ appID.getApplicationName());
//Determine the name of the application
if (appName.compareTo("EncryptDocument")==0)
{
//Remove the application
appManager.removeApplication(appID);
System.out.println("The "+ appID.getApplicationName() +" application was removed.");
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}