Ошибка CRM при попытке десериализации параметра

У меня есть функция CRM, которая возвращает типы атрибутов всех атрибутов в объекте. Моя проблема в том, что хотя этот же метод работал в прошлом, теперь он выдает эту ошибку независимо от объекта, который я ему передаю.

Произошла ошибка при попытке десериализовать параметр http://schemas.microsoft.com/xrm/2011/Contracts/Services:ExecuteResult

Вот мой код, я передаю объект «учетная запись».

public string GetFieldType(IOrganizationService svc, string entity, string fieldName)
        {
            RetrieveEntityRequest request = new RetrieveEntityRequest()
            {
                EntityFilters = EntityFilters.Attributes,
                LogicalName = entity
            };

            RetrieveEntityResponse response = (RetrieveEntityResponse)svc.Execute(request);
            string type = "";
            foreach (AttributeMetadata attribute in response.EntityMetadata.Attributes)
            {
                if (attribute.LogicalName == fieldName)
                { type = attribute.AttributeType.ToString(); }
            }

            return type;
        }

person user1842828    schedule 05.12.2012    source источник
comment
Используете ли вы ранние связанные сущности?   -  person James Wood    schedule 05.12.2012


Ответы (1)


Если код работал раньше, а сейчас нет, скорее всего, проблема не в вашем коде. Скорее всего, ваш svc.Execute неисправен. Вы изменили способ создания IOrganizationService? Вы работаете как пользователь с правами на запрос экземпляра CRM? Если все это проверено, попробуйте включить трассировку на стороне сервера с помощью диагностического инструмента.

person Daryl    schedule 05.12.2012