Пакетное обновление (код ошибки 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. И проверьте значение.

Другие вопросы по тегам