Quick Start (EJB mode): Modifying a services configuration values using the Java API

The following Java example modifies configuration values that belong to SendEmail Service. For information about creating the sample email component, see Creating Your First Component.

/* 
    * 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. jbossall-client.jar (use a different JAR file if the LiveCycle 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 LiveCycle Server is not deployed on JBoss) 
    * 9. jnp-client.jar (use a different JAR file if the LiveCycle 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 jbossall-client.jar file is located in the following path: 
    * <install directory>/jboss/client 
    *  
    * If you want to invoke a remote LiveCycle 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 LiveCycle 
    */ 
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 LiveCycle     
            Properties ConnectionProps = new Properties(); 
            ConnectionProps.setProperty("DSC_DEFAULT_EJB_ENDPOINT", "jnp://localhost:1099"); 
            ConnectionProps.setProperty("DSC_TRANSPORT_PROTOCOL","EJB");           
            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(); 
            } 
    } 
}