2

I am getting this error while running my process in CLI dataloader:

c:\Program Files\salesforce.com\Data Loader\bin>process.bat accountExtract 2013-10-15 15:26:27,695 INFO [main] controller.Controller initLog (Controller.java:389) - Using built-in logging configuration, no log-conf.xml in c:\Program Files\salesforce.com\Data Loader\bin\log-conf.xml 2013-10-15 15:26:27,712 INFO [main] controller.Controller initLog (Controller.java:391) - The log has been initialized 2013-10-15 15:26:27,722 INFO [main] controller.Controller initConfig (Controller.java:327) - config dir created at c:\Program Files\salesforce.com\Da ta Loader\bin\accountExtract 2013-10-15 15:26:27,732 INFO [main] controller.Controller initConfig (Controller.java:338) - config file created at c:\Program Files\salesforce.com\D ata Loader\bin\accountExtract\config.properties 2013-10-15 15:26:27,761 INFO [main] controller.Controller initConfig (Controller.java:355) - The controller config has been initialized 2013-10-15 15:26:27,766 INFO [main] process.ProcessRunner run (ProcessRunner.java:116) - Initializing process engine 2013-10-15 15:26:27,772 INFO [main] process.ProcessRunner run (ProcessRunner.java:119) - Loading parameters 2013-10-15 15:26:27,776 INFO [main] config.LastRun load (LastRun.java:96) - Last run info will be saved in file: c:\Program Files\salesforce.com\Data Loader\bin\accountExtract null_lastRun.properties 2013-10-15 15:26:27,806 FATAL [main] process.ProcessRunner topLevelError (ProcessRunner.java:238) - Unable to run process null

java.lang.RuntimeException: java.lang.IllegalArgumentException: No enum const class com.salesforce.dataloader.action.OperationInfo. at com.salesforce.dataloader.process.ProcessRunner.run(ProcessRunner.java:162) at com.salesforce.dataloader.process.ProcessRunner.run(ProcessRunner.java:100) at com.salesforce.dataloader.process.ProcessRunner.main(ProcessRunner.java:253) Caused by: java.lang.IllegalArgumentException: No enum const class com.salesforce.dataloader.action.OperationInfo. at java.lang.Enum.valueOf(Unknown Source) at com.salesforce.dataloader.config.Config.getEnum(Config.java:436) at com.salesforce.dataloader.config.Config.getOperationInfo(Config.java:976) at com.salesforce.dataloader.process.ProcessRunner.run(ProcessRunner.java:123) ... 2 more

This is the process-conf.xml file I am using:

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">                 
<beans>                 
    <bean id="accountExtract" class="com.salesforce.dataloader.process.ProcessRunner" singleton="false">                
        <description>To take test extract for Note Object</description>                 
        <property name="name" value="accountExtract"/>                  
        <property name="configOverrideMap">                 
           <map>                    
                <entry key="sfdc.debugMessages" value="true"/>      
                <entry key="sfdc.debugMessagesFile" value="E:\DoCss\Script Work\CLI-data loader\debuglog.log"/>         

                <entry key="sfdc.endpoint" value="https://servername.salesforce.com"/>  
                <entry key="sfdc.username" value="chirag.verma@servername"/>                                    
                <entry key="sfdc.password" value="944ef664cf45a36a56a9c9231f9c04f74e469aecd5114a7971458ad280d4cb56968fdeb048d283eea9ed9591e8253634"/>   
                <entry key="process.encryptonKeyFile" value="E:\DoCss\Script Work\CLI-data loader\key.txt"/>    

                <!-- <entry key="dataAccess.readBatchSize" value="200"/> -->    
                <entry key="sfdc.enableLastRunOutput" value="true"/>    
                <entry key="sfdc.extractionRequestSize" value="500"/> <!-- same as 'Query request size in DL' -->   

                <entry key="sfdc.truncateFields" value="true"/> 
                <!-- <entry key="" value=""/> -->   

                <entry key="sfdc.entity" value="Account"/>  
                <entry key="sfdc.extractionSOQL" value="SELECT Id FROM Account LIMIT 10000"/>   
                <entry key="process.operation" value="Extract"/>                    
                <entry key="dataAccess.name" value="E:\DoCss\Script Work\CLI-data loader\Note_Extract.csv"/>                    
                <entry key="dataAccess.type" value="csvWrite"/>                 
                <entry key="dataAccess.writeUTF8" value="true" />   

                <entry key="process.statusOutputDirectory" value="E:\DoCss\Script Work\CLI-data loader\logs_success-error"/>    
                <!--<entry key="process.outputSuccess" value="E:\DoCss\Script Work\CLI-data loader\logs_success-error\csvUpsertProcess_success.csv"/>   
                <entry key="process.outputError" value="E:\DoCss\Script Work\CLI-data loader\logs_success-error\csvUpsertProcess_error.csv"/>
           </map>                   
        </property>                 
    </bean>                 
</beans>

DataLoader ver. 27

Please help me ASAP if possible.

2
  • servername.salesforce.com is not a valid endpoint. Have you tried login.salesforce.com (production) or test.salesforce.com (sandbox)?
    – pchittum
    Commented Oct 15, 2013 at 12:30
  • Yes I have tried this also, I am getting the same error with this also. @Peter Commented Oct 15, 2013 at 12:47

1 Answer 1

3

The key error appears to be mapping a Java Enum value to a value in XML config file.

java.lang.IllegalArgumentException: No enum const class com.salesforce.dataloader.action.OperationInfo. at java.lang.Enum.valueOf(Unknown Source)

Specifically the OperationInfo enum.

Having had a peak into this Enum I can see it requires the following values...

insert, 
update, 
upsert, 
delete, 
hard_delete, 
extract, 
extract_all

Since Java is case senstiive by default, the following part of your config will need to change to using a value from the above....

<entry key="process.operation" value="extract"/> 

The Salesforce documentation gives one example of this in this topic Data Loader Process Configuration Parameters.

enter image description here

However the linked topic, Data Loader Command Line Operations, gives only the labels of these values and not the actual config values needed, which I agree is confusing and misleading in the context from which the page was linked. Hopefully the above list gives future readers the mapping they need! :)

12
  • ok...Let me try this and will get back to you if still any issue arise. Commented Oct 16, 2013 at 10:42
  • Did you mean to paste the new error in? I cannot see it? Commented Oct 16, 2013 at 11:41
  • I am getting the same ERROR even after doing changes... :( > <entry key="process.operation" value="extract"/> Commented Oct 16, 2013 at 11:45
  • Sorry to ask, but just in case, have been sure to changed it in all areas of your XML config file? Commented Oct 16, 2013 at 11:48
  • "in all the areas" mean, can you elaborate ! As there is only one command in which we have to specify the operation type. Shall i show you my process-conf.xml file again ? Commented Oct 16, 2013 at 11:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .