Доступ к API веб-сервиса Salesforce с помощью C#
-
20-09-2019 - |
Вопрос
Я раньше не работал с этим Salesforce API, поэтому немного зациклился на том, как подключиться к сервису Salesforce.
Пока я понял, что мне нужно сгенерировать wsdl-файл для моей учетной записи или, скорее, учетной записи моего клиента (шаг 1).Пока все идет так хорошо.
Но теперь Быстрый старт (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)?
Есть ли какие-либо подводные камни, на которые мне следует обратить внимание при разработке приложений, использующих salesforce API?
Решение
Если вы будете следовать указаниям в ответе Binz, вы сможете добавить ссылку на веб-службу с помощью Visual Studio.
"Пакет API Salesforce Dotnet API" на вики-сайте не требуется для доступа к SalesForce API, это просто библиотека, которая пытается абстрагировать его.
Что касается подводных камней и других вещей, которые следует знать, я бы рекомендовал вам прочитать главу 6 Force.com Кулинарная книга.Вы должны зарегистрироваться для создания учетной записи разработчика force.com (бесплатно).Большинство вещей, о которых вам нужно знать, описаны в этой главе.Вот некоторые из них:
- вход в систему / выход из системы - сеанс управление
- шаблон запроса / 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");
}
}
Другие советы
Для Visual Studio 2008 вам нужно выбрать "Добавить ссылку на службу", затем нажать кнопку "Дополнительно" в левом нижнем углу диалогового окна.Затем в нижней части этого диалога должна появиться кнопка с надписью "Добавить веб-ссылку".Затем вы должны иметь возможность выбрать свой wsdl-файл, и VS автоматически сгенерирует для вас прокси-сервер service client.
Чтобы создать файл WSDL, перейдите по ссылке (ваше имя вверху справа) "Настройка", "разработка" > "api" > "создать корпоративный wsdl" > "создать".В Chrome нажмите сохранить страницу как и поместите этот файл на диск c.В Visual Studio перейдите в раздел Добавить ссылку на службу > дополнительно > добавить веб-ссылку.Укажите на файл, который вы скачали:file:///c:/wsdl.jsp.xml
При использовании .NET 2.0 с полями даты и времени в Salesforce возникает проблема с синтаксическим анализом, доступ к которым осуществляется через веб-службы.
Похоже, это ошибка в .NET, но есть другой способ устранить ее, вручную отредактировав wsdl.
Более подробная информация здесь: