Пакетное обновление (код ошибки 0x81020016)
Я использовал веб-сервисы для обновления списка Sharepoint. Я использую сетевые учетные данные для доступа к серверу remort.
mylist.Credentials = new NetworkCredential(_username, _password, _domain);
вот мой код innerXml:
StringBuilder innerXml = new StringBuilder();
innerXml.AppendFormat("<Method ID='1' Cmd='Update'>" +
"<Field Name='ID'>" + id + "</Field>" +
"<Field Name='Title'>" + title + "</Field>" +
"<Field Name='CostCTRShortText'>" + CostCTRShortText + "</Field>" +
"<Field Name='ActTyp'>" + ActTyp + "</Field>" +
"<Field Name='Employee'>" + Employee + "</Field>" +
"<Field Name='Price'>" + Price + "</Field>" +
"<Field Name='ITECCategory'>" + ITECCategory + "</Field>" +
"<Field Name='ServicePrice'>" + ServicePrice + "</Field>"
);
innerXml.AppendLine("</Method>");
К сожалению, я получаю сообщение об ошибке при обновлении:
<Result ID="1,Update" xmlns="http://schemas.microsoft.com/sharepoint/soap/"><ErrorCode>0x81020016</ErrorCode><ErrorText>Item does not exist
The page you selected contains an item that does not exist. It may have been deleted by another user.</ErrorText></Result>
Это происходит только тогда, когда я пытаюсь обновить элемент списка на удаленном сервере. Тот же код будет работать и обновит элемент списка на локальном сайте, как и ожидалось.
Пожалуйста, помогите мне.
1 ответ
Я нашел проблему. Вот ID
играет важный бросок Убедитесь, что ваш ID
поле получить правильное значение. В моем случае Мой локальный список запускается с идентификатором формы =1, но в списке производственных серверов нет строки с идентификатором =1 .
Вы можете просто увидеть этот столбец идентификатора из списка SharePoint. И проверьте значение.