NoClassDefFoundError:com.sforce.soap.enterprise.Connector

时间:2013-12-18 05:28:51

标签: java android soap salesforce soql

我正在尝试从salesForce帐户查询联系人,但却遇到错误。

我从我的帐户下载的WSDL中生成了enterprise.jar文件。

我在wsc-23-min.jar文件夹中有enterprise.jarlibs个文件。

以下方法用于查询联系人

private void queryContacts() {
    Log.i(TAG, "Querying for the 5 newest Contacts...");

    ConnectorConfig config = new ConnectorConfig();
    config.setUsername("***@***.com");
    config.setPassword("***");

    try {

        connection = Connector.newConnection(config);
        // query for the 5 newest contacts      
        com.sforce.soap.enterprise.QueryResult queryResults = connection.query("SELECT Id, FirstName, LastName, Account.Name " +
                "FROM Contact WHERE AccountId != NULL ORDER BY CreatedDate DESC LIMIT 5");

        if (queryResults.getSize() > 0) {
            for (int i=0;i<queryResults.getRecords().length;i++) {
                // cast the SObject to a strongly-typed Contact
                Contact c = (Contact)queryResults.getRecords()[i];
                Log.i(TAG, " ------------- Id: " + c.getId() + " - Name: "+c.getFirstName()+" "+
                        c.getLastName()+" - Account: "+c.getAccount().getName());
            }
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
}

感谢任何帮助或线索。 感谢。

修改

我尝试了this热门问题的所有方法,但没有运气。

我的工作区中有其他项目有jar文件(在'libs'文件夹中),它们都能正常工作。不知道与salesforce相关的jar文件有什么问题。

修改

wsc-23.jar文件没有问题。放在这个罐子里的类,例如Connector和其他人加载,他们工作正常。

唯一的问题是通过WSDL文件生成enterprise.jar

关注this生成enterprise.jar文件

没有弄错了。

2 个答案:

答案 0 :(得分:2)

您应该将jar放在libs文件夹中而不是lib文件夹中。之后转到Project属性并将jar添加到java build path

答案 1 :(得分:0)

最后解决了我的问题。

Here是答案的链接。