Я пытаюсь прочитать (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 сущности предназначены только для внутреннего использования, что может объяснить, почему я получаю ошибку (сказав, что я могу читать другие сущности «только для внутреннего использования»).
Итак, мой вопрос заключается в следующем: как я могу определить из метаданных, какие объекты «предназначены только для внутреннего использования», а какие нет?
Конечно, я мог бы жестко закодировать список сущностей на основе документации, но я не нахожу это очень удовлетворительным.