Отправка данных из Интернета в CRM 2015 онлайн

Я пытаюсь создать сеть из (веб-приложения) в Visual Studio 2012 для передачи данных в CRM 2015 онлайн. Он продолжал говорить Metadata Contains A Reference That Cannot Be Resolved, когда программа пыталась вызвать OrgService. Перед этим я создаю форму Windows для этого, она отлично работает. Он может подключиться к CRM 2015 онлайн и успешно создать новую запись объекта. Но когда я перемещаю код в веб-приложение. у меня не работает.

Код:

private void button1_Click(object sender, EventArgs e)
{

    ClientCredentials cre = new ClientCredentials();
    cre.UserName.UserName = "MyEmailAddress";
    cre.UserName.Password = "Password";

    Uri serviceUri = new Uri("https://QA.crm.dynamics.com/XRMServices/2011/Organization.svc");

    OrganizationServiceProxy proxy = new OrganizationServiceProxy(serviceUri, null, cre, null);//Error occurs here!!!!!!
    proxy.EnableProxyTypes();
    IOrganizationService service = (IOrganizationService)proxy;
    Entity contact = new Entity("contact");

    contact["firstname"] = Convert.ToString(firstname.Text);
    contact["lastname"] = Convert.ToString(lastname.Text);
    contact["emailaddress1"] = Convert.ToString(email.Text);
    contact["mobilephone"] = Convert.ToString(phone.Text);
    proxy.Create(contact);
}

Ошибка возникает по адресу:

OrganizationServiceProxy proxy = new OrganizationServiceProxy(serviceUri, null, cre, null);

Кто-нибудь знает, что здесь происходит? Я ценю вашу помощь. Спасибо.


person Simeng    schedule 15.01.2015    source источник
comment
Укажите код, который вы используете.   -  person Andrew Butenko    schedule 16.01.2015
comment
Я только что загрузил код. Спасибо.   -  person Simeng    schedule 16.01.2015
comment
Странно то, что форма окон теперь не работает. Я ничего не трогал. Так запутался. Я ценю вашу помощь.   -  person Simeng    schedule 16.01.2015
comment
вы также можете использовать упрощенное подключение: Проблемы с аутентификацией 2011 года"> stackoverflow.com/questions/15929879/   -  person Guido Preite    schedule 28.01.2015


Ответы (1)


Попробуйте использовать следующий код для инициализации сервисного прокси:

IServiceManagement<IOrganizationService> orgServiceManagement =
 ServiceConfigurationFactory.CreateManagement<IOrganizationService>(new Uri("https://democrm.api.crm5.dynamics.com/XRMServices/2011/Organization.svc"));

AuthenticationCredentials authCredentials = new AuthenticationCredentials();
authCredentials.ClientCredentials.UserName.UserName = _userName;
authCredentials.ClientCredentials.UserName.Password = _password;
AuthenticationCredentials tokenCredentials = orgServiceManagement.Authenticate(authCredentials);

IOrganizationService organizationProxy = new OrganizationServiceProxy(orgServiceManagement, tokenCredentials.SecurityTokenResponse);
person Andrew Butenko    schedule 16.01.2015
comment
Привет, Андрей. Мы только что поняли это. Это потому, что у меня не было доступа для отправки запроса в CRM онлайн с сервера. Ему нужен доступ администратора. Теперь нам хорошо. Оригинальный код всегда работает. Большое тебе спасибо. Ценю твою помощь. - person Simeng; 19.01.2015