пятница, июня 09, 2006

Sharepoint - очередной прикол.

При чтении данных списка посредством вызова метода GetList веб-сервиса http://Server_Name/[sites/][Site_Name/]_vti_bin/Lists.asmx получаем исключение с сообщением "There is an error in XML document (94, 5)." И всё.
Выяснилось, что в текстовом поле списка имеется символ \0x31. Откуда взялся, неведомо, да и не повод это для такого поведения. Тем более, при чтении через объектную модель ничего плохого не происходит. Рисуется квадратик на месте символа.

P.S. Что означают числа 94,5 в сообщении, выяснить так и не удалось. India forever.

4 комментария:

Анонимный комментирует...

Может быть (94, 5) указывает на строку и символ :))

DkmS комментирует...

Может, и так, но "5" ставится независимо от положения "плохого" символа.

Анонимный комментирует...

Если не трудно, подскажите..
Вот здесь моя проблема при работе с сервисом через XML запрос -
http://www.gotdotnet.ru/Forums/SharePoint/337940.aspx

Такая ошибка вам не встречалась? Может есть готовое решение?

PS. а символ \0x31 вообще как выглядит? его как можно обнаружить в поле?
//Константин

DkmS комментирует...

Про проблему: Все эти встроенные средства (структура xml, их namespaces, запросы к данным) настолько мудрено устроены, что используют их только сами разработчики да некоторое очень малое количество другого народа. Я в своё время решил не тратить остаток жизни на постижение этой премудрости и пользуюсб другими возможностями. В основном, данными в виде DataTable.

Про символы: Они никак не выглядят, потому как "непечатаемые". А обнаружить - обычным способом, через RegEx проверить на вхождение символов из набора [\x01\x02...]. Там, правда, ещё припутываются Tab/Cr/Lf с кодами 9, 10 и 12.