Как обнаружить сущности «только для внутреннего использования» из метаданных Dynamics CRM - PullRequest
4 голосов
/ 21 октября 2011

Я пытаюсь прочитать (FetchXml) содержимое всех читаемых атрибутов всех сущностей на основе списка, полученного с помощью веб-службы метаданных.

Это работает нормально, за исключением 3 сущностей ("resourcegroupexpansion", "workflowwaitsubscription" и "interprocesslock"), для которых я систематически получаю следующую ошибку:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
    <soap:Fault>
      <faultcode>soap:Server</faultcode>
      <faultstring>Server was unable to process request.</faultstring>
      <detail>
        <error>
          <code>0x80040216</code>
          <description>An unexpected error occurred.</description>
          <type>Platform</type>
        </error>
      </detail>
    </soap:Fault>
  </soap:Body>
</soap:Envelope>

Согласно этому http://msdn.microsoft.com/en-us/library/gg328086.aspx эти 3 сущности предназначены только для внутреннего использования, что может объяснить, почему я получаю ошибку (сказав, что я могу читать другие сущности «только для внутреннего использования»).

Итак, мой вопрос заключается в следующем: как я могу определить из метаданных, какие объекты «предназначены только для внутреннего использования», а какие нет? Конечно, я мог бы жестко закодировать список сущностей на основе документации, но я не нахожу это очень удовлетворительным.

1 Ответ

0 голосов
/ 16 августа 2017

К сожалению, нет флага для идентификации сущностей "Только для внутреннего использования".

Но одна вещь, которую я заметил в браузере метаданных XrmToolbox, - столбец описания объекта содержит текст «Только для внутреннего использования» для ~ 15 объектов.

Мы можем использовать то же самое, идентифицируя и обновляя это поле с уникальными значениями для внутренних системных объектов (через некоторые неподдерживаемые способы, такие как решение для экспорта, изменение и повторное импортирование). Затем текст поля описания можно использовать для фильтрации этих внутренних объектов.

Я никогда не пробовал это. Попробую и обновлю мой ответ в ближайшее время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...