Я тоже боролся с этой проблемой.Сегодня вечером я нашел решение, которое, кажется, работает для меня ... надеюсь, оно будет полезно и для других.
Структура вашего узла viewFields в порядке ...
<viewFields>
<ViewFields xmlns="">
<FieldRef Name="LinkFilename" />
<FieldRef Name="FileDirRef" />
<FieldRef Name="FileLeafRef" />
</ViewFields>
</viewFields>
Проблема, скорее всего, в именах ваших полей.По-видимому, вы должны использовать внутренние имена, а не отображаемые имена.Один из быстрых и простых способов определения внутренних имен - перейти на страницу «Настройки списка» для своего списка и навести курсор на каждый столбец в списке.В строке состояния браузера будет отображаться URL-адрес, похожий на этот.
http://YOUR_SITE/_layouts/FldEdit.aspx?List=%7B12345678%2D1234%2D1234%2D1234%2D123456789012%7D&Field=INTERNAL_FIELD_NAME
Используйте внутреннее имя поля, отображаемое там для каждого из полей, которые вы хотите вернуть из сервиса GetListItems ().Например,
<FieldRef Name="LinkFilename" />
.... может потребоваться записать как ...
<FieldRef Name="Link_x0020_Filename" />
По крайней мере, это то, что потребовалось для решения проблемы для меня.Надеюсь, это поможет!