0

我正在使用 Salesforce SOAP API 来做一个简单的登录和注销程序。我遵循http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_login.htm上的示例代码。

此代码在桌面上运行良好。

然后,我使用sforce-client.jar基于我的 WSDL 文件和wsc.jar.

但是,当我运行它时,出现以下错误,

找不到类“com.sforce.soap.enterprise.EnterpriseConnection”

从方法引用salesforceAccess.SalesforceAccess.login

您知道是什么原因造成的以及如何解决吗?

十分感谢你的帮助。

艾达

4

3 回答 3

2

您是否将 jar 文件添加到“libs”目录并选中属性下的“订购和导出”复选框?

于 2013-04-05T19:57:48.923 回答
0

如果您遵循从 WSDL 构建 jar 的默认说明,则需要将生成的 jar 和用于生成 jar 的 wsc.jar 添加到您的 android libs 文件夹中。从错误中听起来您缺少用于生成 jar 的 wsc.jar。或者,您可以-Dstandalone-jar=true在生成 jar 时将其设置为选项,然后所有内容都将在该生成的 jar 中。

于 2013-04-05T23:13:10.573 回答
0

最后,我解决了这个问题!

步骤是, 1. 从 github.com/forcedotcom/wsc 构建正确的 wsc-xxx.jar 文件(谢谢,Superfell!) 2. 使用上面的 wsc-xxx.jar 从 wsdl 生成 jar 文件。注意:使用 jdk1.6 生成目标 1.6 jar。(或任何与 Android SDK 级别匹配的东西!!) 3. 将 jar 导入 Android 项目。

我被卡住了,因为我使用 jdk1.7 来生成 jar 文件。但是,就像这个线程(Android emulator crash: "Dx bad class file magic" / ClassNotFoundException on startup?)所说,Android SDK 级别为 1.6(我尝试更改为 1.7,项目将无法编译) . 因此,wsdl生成的jar文件将无法打包进去!

eclipse 和 ADT 没有给我任何警告或错误告诉我。我必须从命令行构建 Android 项目(请参阅http://randomsamples.info/blog/phil/android-adt-2101-javalangnoclassdeffounderror-rdimen)并注意到警告,

[dx] trouble processing:
       [dx] bad class file magic (cafebabe) or version (0033.0000)
       [dx] ...while parsing com/sforce/soap/enterprise/EnterpriseConnection.cla
ss
       [dx] ...while processing com/sforce/soap/enterprise/EnterpriseConnection. class

什么过程!!

于 2013-04-06T07:20:29.343 回答