Я не могу обновить документ с помощью CMIS для Sharepoint 2013. Я продолжаю получать сообщение об ошибке «Операция пытается обновить объект, который больше не является текущим». и я застрял в том, почему это так.CMIS Sharepoint 2013 - Не удается обновить документ
Пожалуйста, вы можете проверить, что случилось с моим кодом ниже:
Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters[DotCMIS.SessionParameter.BindingType] = BindingType.AtomPub;
parameters[DotCMIS.SessionParameter.AtomPubUrl] = url;
parameters[DotCMIS.SessionParameter.User] = username;
parameters[DotCMIS.SessionParameter.Password] = password;
parameters[SessionParameter.RepositoryId] = repositoryID;
SessionFactory factory = SessionFactory.NewInstance();
ISession session = factory.CreateSession(parameters);
ICmisObject cmisobj = session.GetObject("12345");
IDictionary<String, Object> properties = new Dictionary<String, Object>();
properties["cmis:name"] = "MyNewName";
IObjectId newId = cmisobj.UpdateProperties(properties);
Спасибо за ответ. Я попытался добавить IOperationContext, но я все равно получаю ту же ошибку. Я реализую это неправильно?
SessionFactory factory = SessionFactory.NewInstance();
ISession session = factory.CreateSession(parameters);
IOperationContext oc = session.CreateOperationContext();
ICmisObject cmisobj = session.GetObject("12345", oc);
IDictionary<String, Object> properties = new Dictionary<String, Object>();
properties["cmis:name"] = "MyNewName";
IObjectId newId = cmisobj.UpdateProperties(properties);
Благодарим за отзыв. Я попытался добавить IOperationContext, но все равно получаю ту же ошибку SessionFactory factory = SessionFactory.NewInstance(); ISession session = factory.CreateSession (параметрирование); IOperationContext oc = session.CreateOperationContext(); ICmisObject cmisobj = session.GetObject ("12345", oc); IDictionary properties = new Dictionary (); Свойства ["cmis: name"] = "NewName"; IObjectId newId = cmisobj.UpdateProperties (свойства); –
LeneyBelle
Вы пропустили шаг. Добавьте эту строку перед вызовом GetObject(): 'oc.FilterString =" cmis: objectId, cmis: objectTypeId, cmis: name "; // добавьте все свойства, которые вам нужны здесь. –
Это сработало !!! Спасибо!!! : D – LeneyBelle