2016-06-10 2 views
0

Я пытаюсь использовать веб-сервис SalesForce от .net. Я действительно новичок в SalesForce и понятия не имею об этом. Если кто-то может помочь мне шаг за шагом, как это сделать, это будет очень полезно. Ниже приведены шаги, которые я сделал, и я не уверен, что я пропустил. Пожалуйста помоги.Как использовать SalesForce Webservice от .net

  1. SalesForce WebService Код:

    global class SampleWebService
    {
    webservice static String sayHello(String Name)
    {
    return 'Hello ' + Name + ', welcome to Salesforce WebService.';
    }
    }

  2. Сгенерированный файл WSDL.

  3. Создан .net проект и добавлен веб-ссылка на этот wsdl.

  4. C# код:

    с использованием системы;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    с использованием System.Web.UI;
    с использованием System.Web.UI.WebControls;

    имен SalesForceWebService
    {
    общественный частичный класс Главная: System.Web.UI.Page
    {
    SalesForceService.SampleWebServiceService objService = новый SalesForceService.SampleWebServiceService();

    protected void Page_Load(object sender, EventArgs e) 
        { 
         lblHello.Text = objService.sayHello("ABC"); 
        } 
    } 
    

    } `

ответ

0

Ниже приведены шаги, которые я, выполняемые для подключения Salesforce с помощью Enterprise WSDL

  1. Сформировать Enterprise WSDL в среде Salesforce следующим
    Настройка -> Развить -> API -> Создать Enterprise WSDL. Сохраните эту веб-страницу как XML.

  2. В Visual studio щелкните правой кнопкой мыши ссылку на ваш проект в обозревателе решений и добавьте сохраненный XML-файл в качестве служебной ссылки на проект.

  3. Аналогичным образом генерирует WSDL для вашего класса apex. И прикрепите его как служебную ссылку на проект. (Если вы выставили какой-либо класс apex в качестве веб-службы, в противном случае выполните этот шаг)

  4. Начните писать код.

В этой программе я пытаюсь вызвать метод WebService написанный на Apex, который получает объект пользователя на основе уникального Id и обновляет поле.

using ConsoleApplication1.Salesforce; 
    using System.Web.Services.Protocols; 
    namespace ConsoleApplication1 
    { 
    class Program 
    { 
     public static SforceService binding; 
     public static ConsoleApplication1.ApexServiceName.ApexClassService classBinding; 
     static void Main(string[] args) 
     { 
      binding = new SforceService(); 
      LoginResult lr = null; 
      binding.Timeout = 120 * 60000; 
      try 
      { 
       lr = binding.login(username,password); 
       Console.WriteLine("login success"); 
      } 
      catch (SoapException ex) 
      { 
       Console.WriteLine(ex.Message); 
      } 

    classBinding = new ConsoleApplication1.ApexServiceName.YOUR_APEXCLASS_NAME(); 
    binding.Url = lr.serverUrl; //I1 
    binding.SessionHeaderValue = new SessionHeader(); 
    binding.SessionHeaderValue.sessionId = lr.sessionId; //I2 
    classBinding.SessionHeaderValue = new ConsoleApplication1.ApexClassService.SessionHeader(); 
    classBinding.SessionHeaderValue.sessionId = lr.sessionId; 
    ConsoleApplication1.ApexServiceName.User Appusr = classBinding.getUserById("1234567"); //I3 
    Appusr.FirstName = "MurthyFYI"; //I4 
    Boolean? result = classBinding.updateUser(Appusr); //I3 
    binding.logout(); 
    } 
    } 
    } 

I1) Результаты входа в систему содержат конечную точку экземпляра виртуального сервера, обслуживающего вашу организацию. Укажите URL привязки к этой конечной точке.

I2) Получить идентификатор сеанса из результата входа и установить его для заголовка сеанса, который будет использоваться для всех последующих вызовов.

I3) Вызвать метод webservice класса Apex, для которого вы создали WSDL.

I4) Обновите поле для объекта пользователя.

Для получения дополнительной информации вы можете сослаться на сообщение в своем блоге @http://murthyvvr.blogspot.in/2013/11/calling-salesforce-webservice-from-c.html Надеюсь, это поможет.

Смежные вопросы