AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.05.2012, 11:09   #1  
kh_heckfy is offline
kh_heckfy
Участник
 
139 / 14 (1) ++
Регистрация: 30.03.2012
Адрес: Новосибирск
в WebService ошибка IncludeExceptionDetailInFaults
Всем привет!

На серваке где стоит CRM 2011 поднял простенький сервис

Код:
    public class Account : System.Web.Services.WebService
    {
        public IOrganizationService GetOrganization()
        {
            Uri organizationUri = new Uri("http://server/test/xrmservices/2011/Organization.svc");
            var cred = new ClientCredentials();
            OrganizationServiceProxy _serviceproxy = new
            OrganizationServiceProxy(organizationUri, null, cred, null);
            IOrganizationService _service = (IOrganizationService)_serviceproxy;
            return _service;
        }

        [WebMethod(true)]
        [ScriptMethod]
        public string CountOfAccount(string name)
        {
            IOrganizationService service = GetOrganization();
            var e = service.Retrieve("account", new Guid("117A260F-36A3-E111-9835-00155D016705"), new ColumnSet(true));
            return e.Attributes.Count.ToString();
        }
    }
вылетает ошибка

Код:
System.ServiceModel.FaultException: Серверу не удалось обработать запрос из-за внутренней ошибки.  Для получения дополнительной информации об ошибке включите IncludeExceptionDetailInFaults (или с помощью атрибута ServiceBehaviorAttribute, или из конфигурации поведения <serviceDebug>) на сервере с целью отправки информации об исключении клиенту, либо включите трассировку, согласно документации Microsoft .NET Framework 3.0 SDK, и изучите журналы трассировки сервера.

Server stack trace: 
   в System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)
   в System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
   в System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   в System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   в System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
   в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   в Microsoft.Xrm.Sdk.IOrganizationService.Retrieve(String entityName, Guid id, ColumnSet columnSet)
   в Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy.RetrieveCore(String entityName, Guid id, ColumnSet columnSet)
   в Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy.Retrieve(String entityName, Guid id, ColumnSet columnSet)
   в ALV.WebServices.WebServices.Account.CountOfAccount(String name) в D:\Projects\ALV\ALV.WebServices\WebServices\Account.asmx.cs:строка 46
а локально все работает нормально
Мне кажется чтото с Credentials... у когонить была проблема? как мне настроить сервис, чтобы я его мог вызывать через javascript

точнее мне надо первое) через js я его вызываю и он нормально вызывается, но выдает ошибку выше....

Последний раз редактировалось kh_heckfy; 22.05.2012 в 11:22.
Старый 22.05.2012, 11:34   #2  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Мы делали так. Запускали пул сервиса от имени того пользователя, который есть в CRM.
Еще вариант. В конфиг файле сервиса прописать логин и парольпользователя, от которого неоодимо конектится к CRM.
Использовали именно для вызова из JS все работает.
__________________
Мой блог https://procrm.tv
За это сообщение автора поблагодарили: kh_heckfy (1).
Старый 22.05.2012, 11:49   #3  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
По поводу инстанциирования сервиса советую посмотреть следующую ссылку - http://nishantrana.wordpress.com/201...e-in-crm-2011/
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: kh_heckfy (1).
Старый 22.05.2012, 11:55   #4  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Цитата:
Сообщение от a33ik Посмотреть сообщение
По поводу инстанциирования сервиса советую посмотреть следующую ссылку - http://nishantrana.wordpress.com/201...e-in-crm-2011/
Здесь ровно то же самое, что я предложил.
NetworkCredential)CredentialCache.DefaultCredentials
берутся из пула приложения. Веб-сервис у нас не входит в CRM и является сторонним сайтом. Аутентификация моя в CRM для него не интересна. Значит мне либо при подключении к нему необходимо указать логин и пароль. Либо использовать анонимную авторизацию и аутентификацию пула. Где и будут DefaultCredentials того пользователя, от которого работает пул.
Раньше можно было размещать веб-сервис в ISV и делать имперсонацию. Сейчас это вроде нехорошо. В ISV нельзя писать.
__________________
Мой блог https://procrm.tv
Старый 22.05.2012, 11:55   #5  
kh_heckfy is offline
kh_heckfy
Участник
 
139 / 14 (1) ++
Регистрация: 30.03.2012
Адрес: Новосибирск
А можно примерчик?
Старый 22.05.2012, 11:56   #6  
kh_heckfy is offline
kh_heckfy
Участник
 
139 / 14 (1) ++
Регистрация: 30.03.2012
Адрес: Новосибирск
а не надо) вижу)) не обновил страницу
Старый 22.05.2012, 11:56   #7  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
чего именно?
__________________
Мой блог https://procrm.tv
Старый 22.05.2012, 12:01   #8  
kh_heckfy is offline
kh_heckfy
Участник
 
139 / 14 (1) ++
Регистрация: 30.03.2012
Адрес: Новосибирск
Все отлично! Заработало большое! Спасибо всем!
Старый 22.05.2012, 12:06   #9  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
Здесь ровно то же самое, что я предложил.
NetworkCredential)CredentialCache.DefaultCredentials
берутся из пула приложения. Веб-сервис у нас не входит в CRM и является сторонним сайтом. Аутентификация моя в CRM для него не интересна. Значит мне либо при подключении к нему необходимо указать логин и пароль. Либо использовать анонимную авторизацию и аутентификацию пула. Где и будут DefaultCredentials того пользователя, от которого работает пул.
Проблема кода, то что не указывалось, что необходимо использовать DefaultNetworkCredential. Сравните:

Код топик стартера:
Код:
var cred = new ClientCredentials();
OrganizationServiceProxy(organizationUri, null, cred, null);
Код из блога:
Код:
ClientCredentials credentials = new ClientCredentials();
// set default credentials for OrganizationService
credentials.Windows.ClientCredential = (NetworkCredential)CredentialCache.DefaultCredentials;
// or
credentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials;
OrganizationServiceProxy orgProxy = new OrganizationServiceProxy(organizationUri, homeRealmUri, credentials, null);
Думаю, что разница в коде видна невооружённым глазом.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 22.05.2012, 12:18   #10  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Правильно. Но если ничего не задать пулу, то это (CredentialCache.DefaultCredentials) не поможет.
__________________
Мой блог https://procrm.tv
Старый 22.05.2012, 12:21   #11  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
Правильно. Но если ничего не задать пулу, то это (CredentialCache.DefaultCredentials) не поможет.
Не спорю, это понятно. Просто мой ответ - дополнил ваш кодом.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 22.05.2012, 12:22   #12  
kh_heckfy is offline
kh_heckfy
Участник
 
139 / 14 (1) ++
Регистрация: 30.03.2012
Адрес: Новосибирск
угу, верно говорите, я уже разобрался и вас поблагодарил)
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка в клиенте для Outlook Briscard Dynamics CRM: Администрирование 5 25.10.2012 22:02
Ошибка синхронизации Outlook 2007 и MS CRM 4 absurdperson Dynamics CRM: Администрирование 9 02.03.2012 10:56
Ошибка при открытии кастомной сущности Rocket Dynamics CRM: Разработка 8 20.12.2011 23:18
Ошибка публикации кастомного БП Буденый Dynamics CRM: Разработка 2 27.10.2010 17:34
Ошибка при загрузке функций Microsoft Dynamics CRM Talisman2005 Dynamics CRM: Администрирование 7 26.08.2008 21:21

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:08.