元件和服務Java™ API快速入門(SOAP) components-and-services-java-apiquick-start-soap

Java™ API快速入門(SOAP)適用於元件和服務。

快速入門(SOAP模式):使用Java部署元件

快速入門(SOAP模式):使用Java設定服務的執行內容

快速入門(SOAP模式):使用Java停用服務安全性

快速入門(SOAP模式):使用Java啟動服務

快速入門(SOAP模式):使用Java修改服務組態值

快速入門(SOAP模式):使用Java移除元件

AEM Forms作業可使用AEM Forms強型別API執行,且連線模式應設定為SOAP。

NOTE
您無法使用Web服務以程式設計方式操控元件和服務。
NOTE
使用AEM表單進行程式設計的快速入門是根據在JBoss®和Windows作業系統上部署的Forms伺服器。 不過,如果您使用其他作業系統(例如UNIX®),請將Windows特定路徑取代為適用作業系統支援的路徑。 同樣地,如果您使用其他J2EE應用程式伺服器,請確定您指定有效的連線屬性。 另請參閱 設定連線屬性.
NOTE
如果您有自訂元件,且使用SOAP或EJB通訊協定來叫用相同本機伺服器上的DSC,且這些叫用會在升級後停止運作,則使用VM內叫用策略。 使用具有預設ServiceClientFactory的in-VM DSC呼叫方法,且不要使用SOAP或EJB通訊協定來建構ServiceClientFactory。

快速入門(SOAP模式):使用Java™ API部署元件 quick-start-soap-mode-deploying-a-component-using-the-java-api

以下Java™範例部署以名為的JAR檔案為基礎的元件 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 in the following path:
        * <install directory>/sdk/client-libs/common
        *
        * The adobe-utilities.jar file is in the following path:
        * <install directory>/sdk/client-libs/jboss
        *
        * The jboss-client.jar file is 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 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();
         }
     }
 }

快速入門(SOAP模式):使用Java™ API設定服務的執行內容 quick-start-soap-mode-setting-the-execution-context-of-a-service-using-the-java-api

以下Java™程式碼範例將「執行身分」呼叫器執行內容設定為名為的範例服務 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 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 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();
         }
     }
 }

快速入門(SOAP模式):使用Java™ API停用服務安全性 quick-start-soap-mode-disabling-service-security-using-the-java-api

下列Java™程式碼範例會停用範例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\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
        *
        * The adobe-utilities.jar file is in the following path:
        * <install directory>/sdk/client-libs/jboss
        *
        * The jboss-client.jar file is 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 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 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();
         }
     }
 }

快速入門(SOAP模式):使用Java™ API啟動服務 quick-start-soap-mode-starting-a-service-using-the-java-api

以下Java™程式碼範例會啟動名為的服務 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();
                 }
     }
 }

快速入門(SOAP模式):使用Java™ API修改服務設定值 quick-start-soap-mode-modifying-a-services-configuration-values-using-the-java-api

以下Java™範例會修改屬於SendEmail Service的設定值。

 /*
     * 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 in the following path:
        * <install directory>/sdk/client-libs/common
        *
        * The adobe-utilities.jar file is in the following path:
        * <install directory>/sdk/client-libs/jboss
        *
        * The jboss-client.jar file is 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 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();
             }
     }
 }

快速入門(SOAP模式):使用Java™ API移除元件 quick-start-soap-mode-removing-components-using-the-java-api

以下Java™程式碼範例會使用Java™ API移除元件。

 /*
     * 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 in the following path:
     * <install directory>/sdk/client-libs/common
     *
     * The adobe-utilities.jar file is in the following path:
     * <install directory>/sdk/client-libs/jboss
     *
     * The jboss-client.jar file is 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 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
19ffd973-7af2-44d0-84b5-d547b0dffee2