使用C#访问Salesforce Web Service API

时间:2009-10-07 13:34:03

标签: c# salesforce

之前我没有使用过Salesforce API,因此我对如何连接到salesforce服务感到困惑。

到目前为止,我知道我必须为我的帐户生成一个wsdl文件,或者更确切地说是我客户的帐户(步骤1)。到目前为止,非常好。

但是现在Quickstart(http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_quickstart_steps.htm)说了一些关于“将WSDL文件导入开发平台”的内容(步骤2)。

如何将wsdl文件导入Visual Studio 2008?我无法找到快速入门中提到的“添加Web引用”选项。

如果我只需要使用WSDL,可以从salesforce网站下载Salesforce Dotnet API包使用什么 (http://wiki.developerforce.com/index.php/Salesforce_Dotnet_API)?

在开发使用salesforce API的应用程序时,我应该注意哪些问题?

4 个答案:

答案 0 :(得分:16)

如果您按照Binz的回答中的说明操作,则应该能够使用Visual Studio添加Web服务引用。

维基站点上的“Salesforce Dotnet API包”不需要访问SalesForce API,它只是一个试图抽象它的库。

至于陷阱和其他要知道的事情,我建议您阅读Force.com Cookbook的第6章。您必须注册force.com开发者帐户(免费)。本章将介绍您需要了解的大部分内容。以下是其中一些:

  • 登录/注销 - 会话 管理
  • query / queryMore pattern(如果需要的话) 你要拉大套 来自SalesForce的数据)
  • 如何构建包装类 - 你有一些示例vb.net代码 也可以下载

另外需要注意的是,如果您要使用SOQL查询SalesForce数据,并且需要在SalesForce日期字段上进行过滤,则需要格式化日期字符串。这是一种方法:

public static string FormatDateForQuery(DateTime dateToFormat, bool includeTime)
{
    if (includeTime)
    {
        return dateToFormat.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss+00:00");
    }
    else
    {
        return dateToFormat.ToUniversalTime().ToString("yyyy-MM-dd");
    }
}

答案 1 :(得分:9)

对于Visual Studio 2008,您需要选择“添加服务引用”,然后单击对话框左下角的“高级”按钮。然后应该在该对话框的底部有一个按钮,上面写着“添加Web引用”。您应该能够选择您的wsdl文件,并且VS将为您自动生成服务客户端代理。

答案 2 :(得分:3)

要创建WSDL文件,请转到(您的名字,右上角),设置,开发> api>生成企业wsdl>生成。在Chrome中,单击“将页面另存为”并将该文件放入c驱动器中。在Visual Studio中,转到添加服务引用>高级>添加网络参考。指向您下载的文件:file:/// c:/wsdl.jsp.xml

答案 3 :(得分:0)

在salesforce中使用带有日期时间字段的.NET 2.0,通过Web服务访问时,存在解析问题。

这似乎是.NET中的一个错误,但还有另一种方法可以通过手动编辑wsdl来解决它。

此处提供更多信息:

http://community.salesforce.com/t5/NET-Development/Can-t-update-date-datetime-from-c-webservice-through-enterprise/m-p/96046