Веб-сервис SalesForce по WSDL - ошибка SOAP при неверном входе - PullRequest
1 голос
/ 15 сентября 2011

Я пытаюсь подключиться к веб-сервису SalesForce и вернуть некоторые данные на веб-странице.Я новичок в этом материале WSDL.Итак, сначала я создал очень простое консольное приложение.Я просто хотел посмотреть, смогу ли я подключиться к веб-сервису.Это работало нормально.Я был в состоянии увидеть наши таблицы и вернуть данные.

Итак, в следующий раз я использовал образец кода ОТЛИЧНО на http://www.developer.com/net/net/salesforce-integration-with-.net-web-services-soap-api-.html. Изменил мои настройки web.config на мои и т. Д. Однако я продолжаю получать ошибку SOAP ниже.

Брошено: "INVALID_LOGIN: неверное имя пользователя, пароль, маркер безопасности или пользователь заблокирован".(System.Web.Services.Protocols.SoapException) Сообщение об исключении = "INVALID_LOGIN: Неверное имя пользователя, пароль, маркер безопасности или пользователь заблокирован.", Тип исключения = "System.Web.Services.Protocols.SoapException"

Данные отладки показывают, что отправляются правильные учетные данные для входа.Это те же учетные данные, которые консольное приложение прошло успешно.

Любая помощь будет очень очень очень ценится !!!!или если у кого-то есть другой пример кода, я тоже открыт для этого ...

Ответы [ 2 ]

4 голосов
/ 15 сентября 2011

При входе через API (т. Е. Не через веб-приложение) применяются некоторые дополнительные меры безопасности.

Вам необходимо:

  • подключиться сдоверенный IP-адрес (доверенный в профиле вашего пользователя (см. страницу сведений о профиле) или, как правило, в организации («Контроль безопасности -> Доступ к сети»)

или

  • добавьте свой токен безопасности к своему паролю (сбросьте его из «Мои личные данные -> Сбросить токен безопасности»)
2 голосов
/ 05 декабря 2012

Если вы используете новый API (например, 26.0), тогда для метода входа требуется параметр LoginScopeHeader. При вызове мыльного прокси-сервера, сгенерированного Visual Studio, необходимо вызвать login(), передав в качестве параметра LoginScopeHeader:

SoapClient client = new SoapClient();

string username = "user@salesforce.com";
string password = "password";
string securityToken = "xxxxxxxxxxxxxxxxxxxxxxxxx";

LoginResult loginResult = client.login(null, username, password + securityToken);

Конечно, вам нужно убедиться, что у вас есть настройка API enabled (в профиле)

...