Я пытаюсь получить элементы списка sharepoint, исключая некоторые поля (в целях безопасности). Запрос SOAP XML выглядит следующим образом.
<soap:Envelope
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns:xsd='http://www.w3.org/2001/XMLSchema'
xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>
<soap:Body>
<GetListItems
xmlns='http://schemas.microsoft.com/sharepoint/soap/'>
<listName>{037A8C92-8A2C-4DC6-9B39-0916997A8ECC}</listName>
<viewName></viewName>
<query>
<Query>
<OrderBy Override="false"></OrderBy>
</Query>
</query>
<viewFields>
<ViewFields>
<FieldRef Name="ContentTypeId"/>
<FieldRef Name="_ModerationComments"/>
<FieldRef Name="FileLeafRef"/>
<FieldRef Name="Modified_x0020_By"/>
<FieldRef Name="Created_x0020_By"/>
<FieldRef Name="File_x0020_Type"/>
<FieldRef Name="HTML_x0020_File_x0020_Type"/>
<FieldRef Name="_SourceUrl"/>
<FieldRef Name="_SharedFileIndex"/>
<FieldRef Name="Title"/>
<FieldRef Name="TemplateUrl"/>
<FieldRef Name="xd_ProgID"/>
<FieldRef Name="xd_Signature"/>
<FieldRef Name="_dlc_DocId"/>
<FieldRef Name="_dlc_DocIdUrl"/>
<FieldRef Name="_dlc_DocIdPersistId"/>
<FieldRef Name="ID"/>
<FieldRef Name="ContentType"/>
<FieldRef Name="Created"/>
<FieldRef Name="Modified"/>
<FieldRef Name="_HasCopyDestinations"/>
<FieldRef Name="_CopySource"/>
<FieldRef Name="_ModerationStatus"/>
<FieldRef Name="FileRef"/>
<FieldRef Name="FileDirRef"/>
<FieldRef Name="Last_x0020_Modified"/>
<FieldRef Name="Created_x0020_Date"/>
<FieldRef Name="File_x0020_Size"/>
<FieldRef Name="FSObjType"/>
<FieldRef Name="SortBehavior"/>
<FieldRef Name="PermMask"/>
<FieldRef Name="CheckedOutUserId"/>
<FieldRef Name="IsCheckedoutToLocal"/>
<FieldRef Name="CheckoutUser"/>
<FieldRef Name="UniqueId"/>
<FieldRef Name="SyncClientId"/>
<FieldRef Name="ProgId"/>
<FieldRef Name="ScopeId"/>
<FieldRef Name="VirusStatus"/>
<FieldRef Name="CheckedOutTitle"/>
<FieldRef Name="_CheckinComment"/>
<FieldRef Name="LinkCheckedOutTitle"/>
<FieldRef Name="_EditMenuTableStart"/>
<FieldRef Name="_EditMenuTableStart2"/>
<FieldRef Name="_EditMenuTableEnd"/>
<FieldRef Name="LinkFilenameNoMenu"/>
<FieldRef Name="LinkFilename"/>
<FieldRef Name="LinkFilename2"/>
<FieldRef Name="DocIcon"/>
<FieldRef Name="ServerUrl"/>
<FieldRef Name="EncodedAbsUrl"/>
<FieldRef Name="BaseName"/>
<FieldRef Name="FileSizeDisplay"/>
<FieldRef Name="MetaInfo"/>
<FieldRef Name="_Level"/>
<FieldRef Name="_IsCurrentVersion"/>
<FieldRef Name="ItemChildCount"/>
<FieldRef Name="FolderChildCount"/>
<FieldRef Name="SelectTitle"/>
<FieldRef Name="SelectFilename"/>
<FieldRef Name="Edit"/>
<FieldRef Name="owshiddenversion"/>
<FieldRef Name="_UIVersion"/>
<FieldRef Name="_UIVersionString"/>
<FieldRef Name="InstanceID"/>
<FieldRef Name="Order"/>
<FieldRef Name="GUID"/>
<FieldRef Name="WorkflowVersion"/>
<FieldRef Name="WorkflowInstanceID"/>
<FieldRef Name="ParentVersionString"/>
<FieldRef Name="ParentLeafName"/>
<FieldRef Name="DocConcurrencyNumber"/>
<FieldRef Name="Combine"/>
<FieldRef Name="RepairDocument"/>
</ViewFields>
</viewFields>
<rowLimit>0</rowLimit>
<queryOptions>
<QueryOptions>
<ViewFieldsOnly>TRUE</ViewFieldsOnly>
<IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns>
<IncludeAttachmentUrls>TRUE</IncludeAttachmentUrls>
<ExpandUserField>TRUE</ExpandUserField>
<ViewAttributes Scope="Default"/>
</QueryOptions>
</queryOptions>
</GetListItems>
</soap:Body>
the ViewFields
section does not contain the Editor
field, regardless it is present in the response!
Sending the request this way successfully excludes other fields. but the Editor
does not conform to this solution.
my question is why this field is so special? and how to exclude it?