Доступ к API Salesforce Webservice с использованием С#

Я ранее не работал с этим API Salesforce, поэтому я немного зациклился на том, как подключиться к службе Salesforce.

До сих пор я понял, что мне нужно создать файл wsdl для моей учетной записи или, скорее, учетную запись моего клиента (шаг 1). Пока что так хорошо.

Но теперь Quickstart (http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_quickstart_steps.htm) говорит что-то о "Импортировать файл WSDL в вашу платформу разработки" (шаг 2).

Как импортировать файл wsdl в Visual Studio 2008? Я не могу найти параметр "Добавить веб-ссылку", который упоминается в быстром старте.

И если мне нужно использовать WSDL, то какой у него есть пакет API Salesforce Dotnet, который можно загрузить с веб-сайта salesforce (http://wiki.developerforce.com/index.php/Salesforce_Dotnet_API)?

Есть ли какие-либо ошибки, которые я должен учитывать при разработке приложений, использующих API Salesforce?

Ответ 1

Если вы следуете указаниям в ответе Binz, вы можете добавить ссылку на веб-службу с помощью Visual Studio.

"API API Salesforce Dotnet" на сайте вики не требуется для доступа к API SalesForce, это просто библиотека, которая пытается ее абстрагировать.

Что касается gotchas и других вещей, которые нужно знать, я бы рекомендовал вам прочитать главу 6 Force.com Cookbook. Вы должны зарегистрироваться для учетной записи разработчика force.com(бесплатно). В этой главе рассказывается большинство вещей, о которых вам нужно знать. Вот несколько из них:

  • вход в систему/выход из системы - сеанс Управление
  • query/queryMore шаблон (необходимо, если вы собираетесь вытащить большие наборы данные 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");
    }
}

Ответ 2

Для Visual Studio 2008 вам нужно выбрать "Добавить сервисную ссылку", а затем нажать кнопку "Дополнительно" в нижней левой части диалогового окна. Затем должна быть кнопка внизу диалога, в которой говорится "Добавить веб-ссылку". Затем вы сможете выбрать файл wsdl, а прокси-сервер службы будет автоматически настроен для вас VS.

Ответ 3

Чтобы создать файл WSDL, перейдите в (ваше имя, вверху справа), настройте, разверните > api > сгенерируйте предприятие wsdl > generate. В Chrome выберите страницу сохранения и поместите этот файл в диск c. В Visual Studio перейдите, чтобы добавить ссылку на службу > advanced > добавить веб-ссылку. Укажите файл, который вы загрузили: file:///c:/wsdl.jsp.xml

Ответ 4

При использовании .NET 2.0 с полями времени даты в salesforce возникает проблема синтаксического анализа, доступ к которой осуществляется через веб-службы.

Кажется, это ошибка в .NET, но есть и другой способ обращения к ней путем ручного редактирования wsdl.

Дополнительная информация здесь:

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