CentOS 6.9下运行Salesforce2Hadoop提示找不到enterprise.wsdl文件求助
Hey there, let's walk through the most likely reasons you're seeing this error even after placing the enterprise.wsdl file, and how to fix them:
Double-check the file path in your command/configuration
It's super common to have a mismatch between where you placed the file and where the program expects it to be. For example, if you put the WSDL in/opt/salesforce2hadoop/wsdl/but your command references./conf/enterprise.wsdl, the program won't find it.- Try using an absolute path (like
/opt/salesforce2hadoop/enterprise.wsdl) instead of a relative one—this avoids issues with your current working directory not being the program's root folder. - Verify the file exists at the path you're using by running
ls /full/path/to/enterprise.wsdlin your terminal.
- Try using an absolute path (like
Check file permissions
CentOS 6.9 enforces strict permission rules, and the user running the Salesforce2Hadoop program might not have read access to the WSDL file.- Run
ls -l /path/to/enterprise.wsdlto view the file's permissions. Look for the "r" (read) flag for the user or group that's running the program. - If permissions are missing, fix them with
chmod +r /path/to/enterprise.wsdlto add read access, orchown your-username:your-group /path/to/enterprise.wsdlto transfer ownership to the correct user.
- Run
Watch out for case sensitivity
Linux is case-sensitive! If your program is looking forEnterprise.wsdlorENTERPRISE.WSDLbut your file is namedenterprise.wsdl, it won't match. Double-check that the filename in your command/configuration exactly matches the actual file's name (uppercase/lowercase included).Verify program configuration files
Some Salesforce2Hadoop setups use a separate config file (likeconfig.properties) to define the WSDL path instead of passing it directly in the command.- Open the program's configuration file and look for a line like
salesforce.wsdl.path=./enterprise.wsdl. Make sure this path points to the correct location of your file.
- Open the program's configuration file and look for a line like
Confirm your current working directory
If you run the program from a subdirectory (not the program's root folder), relative paths will break. For example, if the program lives in/opt/salesforce2hadoopbut you run the command from/home/your-user, the program will look for the WSDL in/home/your-userinstead of the program's folder.- Fix this by first navigating to the program's root directory with
cd /opt/salesforce2hadoop, then running your command from there.
- Fix this by first navigating to the program's root directory with
内容的提问来源于stack exchange,提问作者Shad

