Inicio rápido de la API de Java de componentes y servicios (SOAP) components-and-services-java-apiquick-start-soap

CAUTION
AEM 6.4 ha llegado al final de la compatibilidad ampliada y esta documentación ya no se actualiza. Para obtener más información, consulte nuestra períodos de asistencia técnica. Buscar las versiones compatibles here.

El inicio rápido de la API de Java (SOAP) está disponible para componentes y servicios.

Inicio rápido (modo SOAP): Implementación de un componente mediante la API de Java

Inicio rápido (modo SOAP): Configuración del contexto de ejecución de un servicio mediante la API de Java

Inicio rápido (modo SOAP): Desactivación de la seguridad del servicio mediante la API de Java

Inicio rápido (modo SOAP): Inicio de un servicio mediante la API de Java

Inicio rápido (modo SOAP): Modificación de los valores de configuración de un servicio mediante la API de Java

Inicio rápido (modo SOAP): Eliminación de componentes mediante la API de Java

Las operaciones de AEM Forms se pueden realizar mediante la API con establecimiento inflexible de tipos de AEM Forms y el modo de conexión se debe establecer en SOAP.

NOTE
No se pueden manipular mediante programación componentes y servicios mediante el uso de servicios web.
NOTE
Inicio rápido ubicado en Programación con formularios AEM se basan en el servidor de Forms que se está implementando en JBoss y el sistema operativo Windows. Sin embargo, si está utilizando otro sistema operativo, como Unix, sustituya las rutas específicas de windows por rutas compatibles con el sistema operativo aplicable. Del mismo modo, si utiliza otro servidor de aplicaciones J2EE, asegúrese de especificar propiedades de conexión válidas. Consulte Configuración de las propiedades de conexión.
NOTE
Si tiene un componente personalizado y utiliza protocolos SOAP o EJB para invocar DSC en el mismo servidor local, y esas invocaciones dejan de funcionar después de una actualización, utilice in-VM (DSC_IN_VM_PASSTHROUGH_STRATEGY). Utilice el método de invocación DSC en VM con ServiceClientFactory predeterminado y no construya ServiceClientFactory utilizando protocolos SOAP o EJB.

Inicio rápido (modo SOAP): Implementación de un componente mediante la API de Java quick-start-soap-mode-deploying-a-component-using-the-java-api

El siguiente ejemplo de Java implementa un componente basado en un archivo JAR denominado adobe-emailSample-dsc.jar.

 /*
        * This Java Quick Start uses the following JAR files
        * 1. adobe-taskmanager-client.jar
        * 2. adobe-livecycle-client.jar
        * 3. adobe-usermanager-client.jar
        * 4. activation.jar (required for SOAP mode)
        * 5. axis.jar (required for SOAP mode)
        * 6. commons-codec-1.3.jar (required for SOAP mode)
        * 7. commons-collections-3.2.jar  (required for SOAP mode)
        * 8. commons-discovery.jar (required for SOAP mode)
        * 9. commons-logging.jar (required for SOAP mode)
        * 10. dom3-xml-apis-2.5.0.jar (required for SOAP mode)
        * 11. jaxen-1.1-beta-9.jar (required for SOAP mode)
        * 12. jaxrpc.jar (required for SOAP mode)
        * 13. log4j.jar (required for SOAP mode)
        * 14. mail.jar (required for SOAP mode)
        * 15. saaj.jar (required for SOAP mode)
        * 16. wsdl4j.jar (required for SOAP mode)
        * 17. xalan.jar (required for SOAP mode)
        * 18. xbean.jar (required for SOAP mode)
        * 19. xercesImpl.jar (required for SOAP mode)
        * 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 located in the following path:
        * <install directory>/sdk/client-libs/common
        *
        * The adobe-utilities.jar file is located in the following path:
        * <install directory>/sdk/client-libs/jboss
        *
        * The jboss-client.jar file is located in the following path:
        * <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 located 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.dsc.clientsdk.ServiceClientFactory;
 import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
 import com.adobe.idp.dsc.registry.component.client.*;
 import com.adobe.idp.dsc.registry.infomodel.Component;

 public class DeployComponents {

     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
             ComponentRegistryClient    componentReg = new ComponentRegistryClient(myFactory);

             //Reference a JAR file that represents the component to deploy
         //    FileInputStream componentFile = new FileInputStream("C:\\Adobe\adobe-emailSample-dsc.jar");

             FileInputStream componentFile = new FileInputStream("C:\\A22\Bank.jar");
             Document component = new Document(componentFile);

             //Install the component
             Component myComponent = componentReg.install(component);
             componentReg.start(myComponent);

             System.out.println("The component has been deployed");
             }

         catch(Exception e)
         {
             e.printStackTrace();
         }
     }
 }

Inicio rápido (modo SOAP): Configuración del contexto de ejecución de un servicio mediante la API de Java quick-start-soap-mode-setting-the-execution-context-of-a-service-using-the-java-api

El siguiente ejemplo de código Java establece el contexto de ejecución de Invoker de ejecución en un servicio de ejemplo denominado EncryptDocument.

 /*
        * This Java Quick Start uses the following JAR files
        * 1. adobe-taskmanager-client.jar
        * 2. adobe-livecycle-client.jar
        * 3. adobe-usermanager-client.jar
        * 4. activation.jar (required for SOAP mode)
        * 5. axis.jar (required for SOAP mode)
        * 6. commons-codec-1.3.jar (required for SOAP mode)
        * 7. commons-collections-3.2.jar  (required for SOAP mode)
        * 8. commons-discovery.jar (required for SOAP mode)
        * 9. commons-logging.jar (required for SOAP mode)
        * 10. dom3-xml-apis-2.5.0.jar (required for SOAP mode)
        * 11. jaxen-1.1-beta-9.jar (required for SOAP mode)
        * 12. jaxrpc.jar (required for SOAP mode)
        * 13. log4j.jar (required for SOAP mode)
        * 14. mail.jar (required for SOAP mode)
        * 15. saaj.jar (required for SOAP mode)
        * 16. wsdl4j.jar (required for SOAP mode)
        * 17. xalan.jar (required for SOAP mode)
        * 18. xbean.jar (required for SOAP mode)
        * 19. xercesImpl.jar (required for SOAP mode)
        * The JBoss files must be kept in the jboss\bin\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 located in the following path:
        * <install directory>/sdk/client-libs/common
        *
        *
        *
        * 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 located 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.dsc.clientsdk.ServiceClientFactory;
 import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
 import com.adobe.idp.dsc.registry.infomodel.ServiceConfiguration;
 import com.adobe.idp.dsc.registry.service.ModifyServiceConfigurationInfo;
 import com.adobe.idp.dsc.registry.service.client.ServiceRegistryClient;

 /*
     * This Java quick start sets the Run-As Invoker to a service named EncryptDocument
     */
 public class SetRunAsConfiguration {

      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, "tblue");
         connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");

         //Create a ServiceRegistryClient object
         ServiceClientFactory _factory = ServiceClientFactory.createInstance(connectionProps);
         ServiceRegistryClient _src = new ServiceRegistryClient(_factory);

         //Reference the EncryptDocument service
         ServiceConfiguration _config  = _src.getHeadActiveConfiguration("EncryptDocument");

         //Set the RUN_AS_INVOKER execution context
         ModifyServiceConfigurationInfo _configModifyInfo = new ModifyServiceConfigurationInfo();
         _configModifyInfo.setServiceId(_config.getServiceId());
         _configModifyInfo.setMajorVersion(_config.getMajorVersion());
         _configModifyInfo.setMinorVersion(_config.getMinorVersion());
         _configModifyInfo.setRunAsConfiguration(ServiceConfiguration.RUN_AS_INVOKER);
         _config = _src.modifyConfiguration(_configModifyInfo);
     }catch (Exception e) {
          e.printStackTrace();
         }
     }
 }

Inicio rápido (modo SOAP): Desactivación de la seguridad del servicio mediante la API de Java quick-start-soap-mode-disabling-service-security-using-the-java-api

El siguiente ejemplo de código Java deshabilita la seguridad del servicio EncryptDocument de ejemplo y los servicios invocados desde este servicio (los servicios Set Value y Encryption).

 /*
        * This Java Quick Start uses the following JAR files
        * 1. adobe-taskmanager-client.jar
        * 2. adobe-livecycle-client.jar
        * 3. adobe-usermanager-client.jar
        * 4. activation.jar (required for SOAP mode)
        * 5. axis.jar (required for SOAP mode)
        * 6. commons-codec-1.3.jar (required for SOAP mode)
        * 7. commons-collections-3.2.jar  (required for SOAP mode)
        * 8. commons-discovery.jar (required for SOAP mode)
        * 9. commons-logging.jar (required for SOAP mode)
        * 10. dom3-xml-apis-2.5.0.jar (required for SOAP mode)
        * 11. jaxen-1.1-beta-9.jar (required for SOAP mode)
        * 12. jaxrpc.jar (required for SOAP mode)
        * 13. log4j.jar (required for SOAP mode)
        * 14. mail.jar (required for SOAP mode)
        * 15. saaj.jar (required for SOAP mode)
        * 16. wsdl4j.jar (required for SOAP mode)
        * 17. xalan.jar (required for SOAP mode)
        * 18. xbean.jar (required for SOAP mode)
        * 19. xercesImpl.jar (required for SOAP mode)
*
        * 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 located in the following path:
        * <install directory>/sdk/client-libs/common
        *
        * The adobe-utilities.jar file is located in the following path:
        * <install directory>/sdk/client-libs/jboss
        *
        * The jboss-client.jar file is located in the following path:
        * <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 located 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.dsc.clientsdk.ServiceClientFactory;
 import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
 import com.adobe.idp.dsc.registry.infomodel.ServiceConfiguration;
 import com.adobe.idp.dsc.registry.service.ModifyServiceInfo;
 import com.adobe.idp.dsc.registry.service.client.ServiceRegistryClient;

 /*
     * This Java quick start disables security from the EncryptDocument process
     * and each service that is located in this process
     */
 public class DisableSecurity{

      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 ServiceRegistryClient object
         ServiceClientFactory _factory = ServiceClientFactory.createInstance(connectionProps);
         ServiceRegistryClient _src = new ServiceRegistryClient(_factory);

         //Reference the EncryptDocument process and each service that is
         //invoked from within the EncryptDocument process
         ServiceConfiguration encryptDocumentService  = _src.getHeadActiveConfiguration("EncryptDocument");
         ServiceConfiguration setValueService  = _src.getHeadActiveConfiguration("SetValue");
         ServiceConfiguration encryptionService  = _src.getHeadActiveConfiguration("EncryptionService");

         //Create a ModifyServiceInfo object
         ModifyServiceInfo si = new ModifyServiceInfo();

         //Disable security from the EncryptDocument service
         si.setId(encryptDocumentService.getServiceId());
         si.setSecurityEnabled(false);
         _src.modifyService(si);

         //Disable security from the SetValue service
         si.setId(setValueService.getServiceId());
         si.setSecurityEnabled(false);
         _src.modifyService(si);

         //Disable security from the EncryptionService
         si.setId(encryptionService.getServiceId());
         si.setSecurityEnabled(false);
         _src.modifyService(si);

     }catch (Exception e) {
          e.printStackTrace();
         }
     }
 }

Inicio rápido (modo SOAP): Inicio de un servicio mediante la API de Java quick-start-soap-mode-starting-a-service-using-the-java-api

El siguiente ejemplo de código Java inicia un servicio denominado SendEmailService.

 package com.adobe.sample.servicemanager;

 /**
     * This Java Quick Start uses the following JAR files:
     * 1. adobe-livecycle-client.jar
     * 2. adobe-usermanager-client.jar
     * 3. adobe-workflow-client-sdk.jar
     * 4. adobe-utilities.jar
     * 5. jboss-client.jar (use a different JAR file if AEM Forms is not deployed on Jboss)
     * 6. jacorb.jar (use a different JAR file if the forms server is not deployed on JBoss)
     * 7. jnp-client.jar (use a different JAR file if the forms server is not deployed on JBoss)
     */
 import java.util.*;
 import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
 import com.adobe.idp.dsc.registry.infomodel.ServiceConfiguration;
 import com.adobe.idp.dsc.registry.service.client.ServiceRegistryClient;

 public class StartService {

     public static void main(String[] args) {

         try{
             //Set connection properties required to invoke AEM Forms
             Properties ConnectionProps = new Properties();
             ConnectionProps.setProperty("DSC_DEFAULT_SOAP_ENDPOINT", "https://[server]:[port]");
             ConnectionProps.setProperty("DSC_TRANSPORT_PROTOCOL","SOAP");
             ConnectionProps.setProperty("DSC_SERVER_TYPE", "JBoss");
             ConnectionProps.setProperty("DSC_CREDENTIAL_USERNAME", "administrator");
             ConnectionProps.setProperty("DSC_CREDENTIAL_PASSWORD", "password");

             //Create a ServiceClientFactory object
             ServiceClientFactory myFactory = ServiceClientFactory.createInstance(ConnectionProps);

             //Create a ServiceRegistryClient object
             ServiceRegistryClient serviceReg = new ServiceRegistryClient(myFactory);

             //Reference the SendEmailService
             ServiceConfiguration myServiceConfig = serviceReg.getHeadActiveConfiguration("SendEmailService");

             //Start the SendEmailService
             serviceReg.start(myServiceConfig);
             }

                 catch(Exception e)
                 {
                     e.printStackTrace();
                 }
     }
 }

Inicio rápido (modo SOAP): Modificación de los valores de configuración de un servicio mediante la API de Java quick-start-soap-mode-modifying-a-services-configuration-values-using-the-java-api

El siguiente ejemplo de Java modifica los valores de configuración que pertenecen al servicio SendEmail.

 /*
     * This Java Quick Start uses the following JAR files
        * 1. adobe-taskmanager-client.jar
        * 2. adobe-livecycle-client.jar
        * 3. adobe-usermanager-client.jar
        * 4. activation.jar (required for SOAP mode)
        * 5. axis.jar (required for SOAP mode)
        * 6. commons-codec-1.3.jar (required for SOAP mode)
        * 7. commons-collections-3.2.jar  (required for SOAP mode)
        * 8. commons-discovery.jar (required for SOAP mode)
        * 9. commons-logging.jar (required for SOAP mode)
        * 10. dom3-xml-apis-2.5.0.jar (required for SOAP mode)
        * 11. jaxen-1.1-beta-9.jar (required for SOAP mode)
        * 12. jaxrpc.jar (required for SOAP mode)
        * 13. log4j.jar (required for SOAP mode)
        * 14. mail.jar (required for SOAP mode)
        * 15. saaj.jar (required for SOAP mode)
        * 16. wsdl4j.jar (required for SOAP mode)
        * 17. xalan.jar (required for SOAP mode)
        * 18. xbean.jar (required for SOAP mode)
        * 19. xercesImpl.jar (required for SOAP mode)
        * 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 located in the following path:
        * <install directory>/sdk/client-libs/common
        *
        * The adobe-utilities.jar file is located in the following path:
        * <install directory>/sdk/client-libs/jboss
        *
        * The jboss-client.jar file is located in the following path:
        * <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 located 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.dsc.clientsdk.ServiceClientFactory;
 import com.adobe.idp.dsc.registry.infomodel.ConfigParameter;
 import com.adobe.idp.dsc.registry.infomodel.ServiceConfiguration;
 import com.adobe.idp.dsc.registry.service.ModifyServiceConfigurationInfo;
 import com.adobe.idp.dsc.registry.service.client.ServiceRegistryClient;


 public class ModifyService {

     public static void main(String[] args) {

         try{
             //Set connection properties required to invoke AEM Forms
             Properties ConnectionProps = new Properties();
             ConnectionProps.setProperty("DSC_DEFAULT_SOAP_ENDPOINT", "https://[server]:[port]");
             ConnectionProps.setProperty("DSC_TRANSPORT_PROTOCOL","SOAP");
             ConnectionProps.setProperty("DSC_SERVER_TYPE", "JBoss");
             ConnectionProps.setProperty("DSC_CREDENTIAL_USERNAME", "administrator");
             ConnectionProps.setProperty("DSC_CREDENTIAL_PASSWORD", "password");

             //Create a ServiceClientFactory object
             ServiceClientFactory myFactory = ServiceClientFactory.createInstance(ConnectionProps);

             //Create a ServiceRegistryClient object
             ServiceRegistryClient serviceReg = new ServiceRegistryClient(myFactory);

             //Reference the SendEmailService
             ServiceConfiguration myServiceConfig = serviceReg.getHeadServiceConfiguration("SendEmailService");

             //Create a ModifyServiceConfigurationInfo object
                 ModifyServiceConfigurationInfo modService = new ModifyServiceConfigurationInfo();

             //Set configuration values required by the SendEmailService
             String serviceId = myServiceConfig.getServiceId();
             modService.setServiceId(serviceId);
             modService.setMajorVersion(1);
             modService.setConfigParameterAsText("smtpHost","mySMTPSERVER");
             modService.setConfigParameterAsText("smtpUser","smyUserName");
             modService.setConfigParameterAsText("smtpPassword","myPassword");

             //Modify the service’s configuration values
             serviceReg.modifyConfiguration(modService);

             //Conform the new configuration values
             ServiceConfiguration serviceConfig = serviceReg.getServiceConfiguration("SendEmailService",1,0);
             ConfigParameter cp = serviceConfig.getConfigParameter("smtpUser");
             String configValue = cp.getTextValue();
             System.out.println(configValue);
             }

             catch(Exception e)
             {
                 e.printStackTrace();
             }
     }
 }

Inicio rápido (modo SOAP): Eliminación de componentes mediante la API de Java quick-start-soap-mode-removing-components-using-the-java-api

El siguiente ejemplo de código Java elimina un componente mediante la API de Java.

 /*
     * This Java Quick Start uses the following JAR files
     * 1. adobe-taskmanager-client.jar
     * 2. adobe-livecycle-client.jar
     * 3. adobe-usermanager-client.jar
     * 4. adobe-utilities.jar
     * 5. jboss-client.jar (use a different JAR file if the forms server is not deployed
     * on JBoss)
     * 6. commons-code-1.3.jar
     * 7. adobe-workflow-client-sdk.jar
     * 8. jacorb.jar (use a different JAR file if the forms server is not deployed on JBoss)
     * 9. jnp-client.jar (use a different JAR file if the forms server is not deployed on JBoss)
     *
     * 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 located in the following path:
     * <install directory>/sdk/client-libs/common
     *
     * The adobe-utilities.jar file is located in the following path:
     * <install directory>/sdk/client-libs/jboss
     *
     * The jboss-client.jar file is located in the following path:
     * <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 located 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.dsc.clientsdk.ServiceClientFactory;
 import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
 import com.adobe.idp.dsc.registry.component.client.*;
 import com.adobe.idp.dsc.registry.infomodel.Component;

 public class RemoveComponent {

     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
             ComponentRegistryClient    componentReg = new ComponentRegistryClient(myFactory);

             //Retrieve the Id of the component to remove from the service container
             Component myComponent = componentReg.getComponent("com.adobe.livecycle.sample.email.emailSampleComponent", "1.0");

             //Determine if the component is in a running state
             if (myComponent.getState()== Component.RUNNING)
             {
                 //Stop the component
                 Component stoppedComponent = componentReg.stop(myComponent);

                 //Uninstall the component
                 componentReg.uninstall(stoppedComponent);
             }
             else
                 componentReg.uninstall(myComponent);

             System.out.println("The component was removed.");
             }

             catch(Exception e)
             {
                 e.printStackTrace();
             }
     }
 }
recommendation-more-help
a6ebf046-2b8b-4543-bd46-42a0d77792da