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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.06.2013, 00:42   #1  
vasya-serega is offline
vasya-serega
Участник
 
145 / 17 (1) ++
Регистрация: 12.05.2013
Адрес: Украина
Перечисление ролей любого пользователя
Доброго времени суток!
Подскажите, в чем может быть причина следующей проблемы. Мне нужно с помощью JS перечислить все роли для определенного пользователя, зная его id. Нашел пример, поначалу всё работало (правда!), затем функция стала возвращать ошибку:
"soap:ClientServer was unable to process request. 0x80040216 An unexpected error occurred. Platform Server was unable to read request.
at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters()
at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()

InnerException Type:System.Web.Services.Protocols.SoapException

There is an error in XML document (1, 1069).
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle)
at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters()

InnerException Type:System.InvalidOperationException

Namespace prefix 'q1 ' is not defined.
at System.Xml.Serialization.XmlSerializationReader.ToXmlQualifiedName(String value, Boolean decodeName)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read14_ColumnSetBase(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read25_QueryExpression(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read27_QueryBase(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read38_RetrieveMultiple()
at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer20.Deserialize(XmlSerializationReader reader)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)

InnerException Type:System.InvalidOperationException"

В soap я не силен, потому что делать с такой ошибкой не знаю.

Последний раз редактировалось vasya-serega; 17.06.2013 в 00:45.
Старый 17.06.2013, 01:11   #2  
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
Добрый день,

Если вы пользуетесь CRM 2011, то стоит обратить внимание на следующие ссылки:
http://msdn.microsoft.com/en-us/libr...K_getUserRoles
http://blogs.infinite-x.net/2010/11/...s-in-crm-2011/

Если 4.0, то на следующую статью:
http://jianwang.blogspot.com/2008/01...-security.html
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 17.06.2013, 01:15   #3  
vasya-serega is offline
vasya-serega
Участник
 
145 / 17 (1) ++
Регистрация: 12.05.2013
Адрес: Украина
CRM 2011.
Xrm.Page.context.getUserRoles() насколько я понимаю, возвращает роли для текущего пользователя. А мне нужно для произвольного, имея его id
Старый 17.06.2013, 14:29   #4  
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
Цитата:
Сообщение от vasya-serega Посмотреть сообщение
CRM 2011.
Xrm.Page.context.getUserRoles() насколько я понимаю, возвращает роли для текущего пользователя. А мне нужно для произвольного, имея его id
Невнимательно прочитал. Приношу извинения.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 17.06.2013, 15:20   #5  
Anros is offline
Anros
Участник
 
54 / 28 (1) +++
Регистрация: 01.07.2009
Похоже, что на сервер передается невалидный xml
Проверьте содержимое переменной "xml", скопировав его в какой-нибудь xml редактор.
Старый 19.06.2013, 02:10   #6  
vasya-serega is offline
vasya-serega
Участник
 
145 / 17 (1) ++
Регистрация: 12.05.2013
Адрес: Украина
Это какой-то ад. Разработка путем мучения с этими дикими запросами никакого удовольствия не приносит. Махнул рукой и сделал с помощью Fetch
Код:
function getUserRoles(userId)
{
   // Retrieve any user roles
   var fetchXml =
   "<fetch mapping='logical'  distinct='true'>" +
   "<entity name='role'>" +
   "<attribute name='roleid' />" +
   "<attribute name='name' />" +
   "<order attribute='name' descending='false' />" +
   "    <link-entity name='systemuserroles' from='roleid' to='roleid' visible='false' intersect='true'>" +
   "      <link-entity name='systemuser' from='systemuserid' to='systemuserid' alias='aa'>" +
   "        <filter type='and'>" +
   "          <condition attribute='systemuserid' operator='eq' value='" + userId  + "' />" +
   "        </filter>" +
   "      </link-entity>" +
   "    </link-entity>" +
   "</entity>" +
   "</fetch>";
   var roles = XrmServiceToolkit.Soap.Fetch(fetchXml);
   return roles;
}
Получился читаемый и понятный код, которые выполняется с помощью вызова одной(!) строки скаченной с инета либы XrmServiceToolkit. Ура!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axforum blogs: Мультиязычный CRM. Уведомления из рабочих процессов на языке пользователя Blog bot Dynamics CRM: Blogs 0 04.06.2013 17:11
Все о Microsoft Dynamics CRM: Добавляем фото пользователя в CRM 2011 Blog bot Dynamics CRM: Blogs 0 24.06.2012 12:15
Ошибка при создании пользователя CRM Буденый Dynamics CRM: Администрирование 11 14.07.2010 16:30
Ошибка после изменениями имени пользователя в AD sergeyjb Dynamics CRM: Администрирование 20 29.10.2008 18:27
Создание пользователя через SDK Tigra Dynamics CRM: Разработка 1 18.10.2005 18:27

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

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

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