Доступ к 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