создание аккаунта API Salesforce - PullRequest
0 голосов
/ 25 мая 2011

Мы создали классы C # для файла WSDL, предоставленного Salesforce.

Большинство сгенерированных классов являются классами сущностей, но, похоже, у вас нет методов для вызова, таких как CreateAccount или UpdateAccount.

Это правильно? Используете ли вы запрос для выполнения всех манипуляций с данными напрямую?

Ответы [ 3 ]

3 голосов
/ 26 мая 2011

Вместо того, чтобы иметь отдельные методы создания для каждого объекта, Salesforce предоставляет универсальный метод создания, который принимает ввод универсального объекта, который может быть типа account или contact или любого пользовательского объекта.

/// Demonstrates how to create one or more Account records via the API  

public void CreateAccountSample()
{
    Account account1 = new Account();
    Account account2 = new Account();

    // Set some fields on the account1 object. Name field is not set  

    // so this record should fail as it is a required field.  

    account1.BillingCity = "Wichita";
    account1.BillingCountry = "US";
    account1.BillingState = "KA";
    account1.BillingStreet = "4322 Haystack Boulevard";
    account1.BillingPostalCode = "87901";

    // Set some fields on the account2 object  

    account2.Name = "Golden Straw";
    account2.BillingCity = "Oakland";
    account2.BillingCountry = "US";
    account2.BillingState = "CA";
    account2.BillingStreet = "666 Raiders Boulevard";
    account2.BillingPostalCode = "97502";

    // Create an array of SObjects to hold the accounts  

    sObject[] accounts = new sObject[2];
    // Add the accounts to the SObject array  

    accounts[0] = account1;
    accounts[1] = account2;

    // Invoke the create() call  

    try
    {
        SaveResult[] saveResults = binding.create(accounts);

        // Handle the results  

        for (int i = 0; i < saveResults.Length; i++)
        {
            // Determine whether create() succeeded or had errors  

            if (saveResults[i].success)
            {
                // No errors, so retrieve the Id created for this record  

                Console.WriteLine("An Account was created with Id: {0}",
                    saveResults[i].id);
            }
            else
            {
                Console.WriteLine("Item {0} had an error updating", i);

                // Handle the errors  

                foreach (Error error in saveResults[i].errors)
                {
                    Console.WriteLine("Error code is: {0}",
                        error.statusCode.ToString());
                    Console.WriteLine("Error message: {0}", error.message);
                }
            }
        }
    }
    catch (SoapException e)
    {
        Console.WriteLine(e.Code);
        Console.WriteLine(e.Message);
    }
}  `
2 голосов
/ 25 мая 2011

Да, это правильно.У вас нет методов для этих объектов, и все операции должны выполняться с использованием их API (веб-сервисов).

Здесь - пример кода на Java и C #

1 голос
/ 25 мая 2011

Большинство классов, таких как Account, Contact и т. Д., На самом деле являются просто структурами данных, которые передаются по проводам. SforceService (если вы используете веб-ссылку, не знаете, как класс вызывается с WCF), это точка входа для того, чтобы что-то с ними делать, например, вы можете передать список учетных записей методу create, чтобы они были созданы Что касается отдела продаж, в документации по веб-сервисам есть ряд примеров . Запрос только для чтения, вы не можете вносить изменения с помощью запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...