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.

  • servername.salesforce.com is not a valid endpoint. Have you tried login.salesforce.com (production) or test.salesforce.com (sandbox)? – pchittum Oct 15 '13 at 12:30
  • Yes I have tried this also, I am getting the same error with this also. @Peter – Chirag Verma Oct 15 '13 at 12:47
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! :)

  • ok...Let me try this and will get back to you if still any issue arise. – Chirag Verma Oct 16 '13 at 10:42
  • Did you mean to paste the new error in? I cannot see it? – Andrew Fawcett Oct 16 '13 at 11:41
  • I am getting the same ERROR even after doing changes... :( > <entry key="process.operation" value="extract"/> – Chirag Verma Oct 16 '13 at 11:45
  • Sorry to ask, but just in case, have been sure to changed it in all areas of your XML config file? – Andrew Fawcett Oct 16 '13 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 ? – Chirag Verma Oct 16 '13 at 11:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.