В sharepoint при попытке обновить список я получаю сообщение об ошибке:
0x81020014One or more field types are not installed properly. Go to the list settings page to delete these fields.
Caml, который создается:
<Batch PreCalc='TRUE' OnError='Continue'>
<Method ID='1' Cmd='Update'>
<Field Name='ID'>4</Field>
<Field Name='Flagged'>False</Field>
</Method>
</Batch>
Когда я запускаю Caml из U2U, он работает нормально, и поле обновляется. Когда я отлаживаю свой код в VS, я получаю ошибку выше.
Код для создания и вызова пакета приведен ниже:
var ws = new com.freud.intranet.lists.Lists {
Url = WebServiceHelper.wsContactsList,
Credentials = WebServiceHelper.AdminCredentials
};
var batch = "<Batch PreCalc='TRUE' OnError='Continue'><Method ID='1' cmd='Update'><Field Name='ID'>" + contactID
+ "</Field><Field Name='Flagged'>" + flag + "</Field></Method></Batch>";
var document = new XmlDocument();
var stringReader = new StringReader(batch);
var xmlReader = XmlReader.Create(stringReader);
var node = document.ReadNode(xmlReader);
ws.UpdateListItems("Master Contact Joining Table", node);
Почему caml работает в U2U, а не в VS?
С Google, проблема может быть в том, что я не использую внутренние имена, однако он работает в U2U, поэтому я запутался.