2014-01-06 2 views
0

В настоящее время я пытаюсь выяснить, почему это происходит.Ошибки подключения IFD/ADFS в службе WCF для CRM 2011

Вот как я создаю объекты для подключения веб-службы организации в промежутке между сервисом WCF. Развертывание IFD/ADFS

string uname = WebConfigurationManager.AppSettings["uname"]; 
    string password = WebConfigurationManager.AppSettings["password"]; 
    //string domain = WebConfigurationManager.AppSettings["domain"]; 

    //Construct connection objects 
    Uri _organizationUri = new Uri(WebConfigurationManager.AppSettings["url"]); 
    Uri _homeRealmUri = null; 
    ClientCredentials _credentials = new ClientCredentials(); 

    OrganizationServiceProxy _orgProxy; 
    IOrganizationService _service; 

    IServiceConfiguration<IOrganizationService> config; 

    //Initialize connection objects 
    public void init() 
    { 
     _credentials.Windows.ClientCredential = new System.Net.NetworkCredential(uname, password); 

     config = ServiceConfigurationFactory.CreateConfiguration<IOrganizationService>(_organizationUri); 

     _orgProxy = new OrganizationServiceProxy(config, _credentials); 
     //_orgProxy = new OrganizationServiceProxy(_organizationUri, _homeRealmUri, _credentials, null); 
     _service = (IOrganizationService)_orgProxy; 

    } 

Попытка сделать извлечения (или любой другой функциональности через _service)

LeadEntity = _service.Retrieve("lead", leadID, new ColumnSet(true)); 

получает мне ошибку, которая говорит: «Попытка входа в систему не удалось!»

Затем я сделал несколько поисковых запросов и нашел, что кто-то предложил положить в домен, как этот домен uname @. Это исправьте ошибку:

Согласование безопасности SOAP с 'https://adfstst.xyxy.com/adfs/services/trust/13/kerberosmixed' для цели 'https://adfstst.xyxy.com/adfs/services/trust/13/kerberosmixed' не удалось. См внутреннего исключения для получения более подробной информации

Внутреннего исключение говорит, что это:

InitializeSecurityContent не удался. Убедитесь, что имя участника службы верное.

Любые рекомендации относительно того, как исправить соединение, будут оценены.

+0

пожалуйста, проверьте этот ответ http://stackoverflow.com/a/15930366/2191473 –

ответ

0

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

public void init() 
{ 
    _credentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials; 
    _credentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation; 
    _credentials.UserName.UserName = uname; 
    _credentials.UserName.Password = password; 

    IOrganizationService service = new OrganizationServiceProxy(new Uri(_organizationUri), null, credentials, null); 
} 
+0

Еще раз спасибо андрей! –

+0

Эти две строки кода, похоже, ничего не вносят в приведенный выше пример: _credentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials; _credentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation; – Sal

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