Hi Florian, Thank You for your response. With this filter, the update works fine.
Thank You. Julien -----Message d'origine----- De : Florian Müller [mailto:[email protected]] Envoyé : mercredi 19 février 2014 12:53 À : [email protected] Cc : Bittard, Julien Objet : RE: RE: Error on update document with sharepoint 2013 Hi Julien, I've retested it. There seems to be a bug in the SharePoint CMIS implementation, which you should report to Microsoft. Property updates work fine if and only if you don't fetch the property cmis:changeToken. The following code works in the CMIS Workbench Console. Note the filter. I've explicitly set the filter to "cmis:name". If you choose "*" or a filter that contains "cmis:changeToken" you get an error. <code> import org.apache.chemistry.opencmis.commons.* import org.apache.chemistry.opencmis.commons.data.* import org.apache.chemistry.opencmis.commons.enums.* import org.apache.chemistry.opencmis.client.api.* OperationContext oc = session.createOperationContext(); oc.setFilterString("cmis:name"); Folder folder = session.getObjectByPath("/folder", oc); Map<String, Object> properties = new HashMap<String, Object>(); properties.put("cmis:name", "renamedFolder"); folder.updateProperties(properties); </code> The CMIS Workbench uses the "*" filter by default and therefore updates fail against SharePoint 2013. - Florian > Hello, > > Thank you for your response. > Versioning is not enabled. > > I try with the CMIS workbench 0.10.0, not with my own application. > I try a refresh before, but i don't know how to fetch the object > without the cmis:changeToken property. > > In the log of workbench (level ALL), I have this : > >> 15:52:59 DEBUG ent.bindings.spi.http.DefaultHttpInvoker: PUT >> http://vpc-share-web:10001/_vti_bin/cmis/rest/af532a1e-a7b4-4a77-8759-f2cc57512484?getObject&objectID=2-512&changeToken=2%2F3%2F2014+3%3A24%3A20+PM >> 15:52:59 TRACE ent.bindings.spi.http.DefaultHttpInvoker: PUT >> http://vpc-share-web:10001/_vti_bin/cmis/rest/af532a1e-a7b4-4a77-8759-f2cc57512484?getObject&objectID=2-512&changeToken=2%2F3%2F2014+3%3A24%3A20+PM >> >> > Headers: {null=[HTTP/1.1 409 The operation is attempting to update >> an object that is no longer current.], X-SharePointHealthScore=[0], >> MicrosoftSharePointTeamServices=[15.0.0.4420], Content-Length=[75], >> request-id=[8a7a759c-8f80-d0b6-7171-52d4a9ad5f23], >> Server=[Microsoft-IIS/7.5], X-Powered-By=[ASP.NET], >> Cache-Control=[private], X-Content-Type-Options=[nosniff], >> SPRequestGuid=[8a7a759c-8f80-d0b6-7171-52d4a9ad5f23], >> SPIisLatency=[0], X-AspNet-Version=[4.0.30319], Date=[Tue, 18 Feb 2014 >> 14:52:26 GMT], X-FRAME-OPTIONS=[SAMEORIGIN], X-MS-InvokeApp=[1; >> RequireReadOnly], Content-Type=[plain/text; charset=utf-8], >> SPRequestDuration=[60]} >> 15:52:59 ERROR hemistry.opencmis.workbench.ClientHelper: >> CmisConstraintException: The operation is attempting to update an >> object that is no longer current. > > org.apache.chemistry.opencmis.commons.exceptions.CmisConstraintException: > The operation is attempting to update an object that is no longer > current. > at > > org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.convertStatusCode(AbstractAtomPubService.java:482) > at > > org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.put(AbstractAtomPubService.java:653) > at > > org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.put(AbstractAtomPubService.java:640) > at > > org.apache.chemistry.opencmis.client.bindings.spi.atompub.ObjectServiceImpl.updateProperties(ObjectServiceImpl.java:333) > at > > org.apache.chemistry.opencmis.client.runtime.AbstractCmisObject.updateProperties(AbstractCmisObject.java:343) > at > > org.apache.chemistry.opencmis.workbench.PropertyEditorFrame.doUpdate(PropertyEditorFrame.java:198) > at > > org.apache.chemistry.opencmis.workbench.PropertyEditorFrame.access$000(PropertyEditorFrame.java:76) > at > > org.apache.chemistry.opencmis.workbench.PropertyEditorFrame$1.actionPerformed(PropertyEditorFrame.java:166) > at > javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018) > at > > javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341) > at > > javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) > at > javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) > at > > javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) > at java.awt.Component.processMouseEvent(Component.java:6505) > at javax.swing.JComponent.processMouseEvent(JComponent.java:3320) > at java.awt.Component.processEvent(Component.java:6270) > at java.awt.Container.processEvent(Container.java:2229) > at java.awt.Component.dispatchEventImpl(Component.java:4861) > at java.awt.Container.dispatchEventImpl(Container.java:2287) > at java.awt.Component.dispatchEvent(Component.java:4687) > at > java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) > at > java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) > at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) > at java.awt.Container.dispatchEventImpl(Container.java:2273) > at java.awt.Window.dispatchEventImpl(Window.java:2719) > at java.awt.Component.dispatchEvent(Component.java:4687) > at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735) > at java.awt.EventQueue.access$200(EventQueue.java:103) > at java.awt.EventQueue$3.run(EventQueue.java:694) > at java.awt.EventQueue$3.run(EventQueue.java:692) > at java.security.AccessController.doPrivileged(Native Method) > at > > java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) > at > > java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) > at java.awt.EventQueue$4.run(EventQueue.java:708) > at java.awt.EventQueue$4.run(EventQueue.java:706) > at java.security.AccessController.doPrivileged(Native Method) > at > > java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) > at java.awt.EventQueue.dispatchEvent(EventQueue.java:705) > at > > java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) > at > > java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) > at > > java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) > at > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) > at > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) > at java.awt.EventDispatchThread.run(EventDispatchThread.java:91) >> 15:52:59 ERROR hemistry.opencmis.workbench.ClientHelper: Error code: >> 0 > > > Julien. > > > > -----Message d'origine----- > De : Florian Müller [mailto:[email protected]] > Envoyé : mardi 18 février 2014 12:43 > À : Bittard, Julien > Cc : [email protected] > Objet : Fwd: RE: Error on update document with sharepoint 2013 > > Hi Julien, > > What you are actually seeing is a CmisUpdateConflictException. Some > exceptions are not correctly transported via the AtomPub binding. > Is versioning enabled at your document library? If so, try > refreshing the object before you update it. Or fetch the object > without the cmis:changeToken property in the first place. > > - Florian > > > > -------- Original Message -------- > Subject: RE: Error on update document with sharepoint 2013 > Date: Tue, 18 Feb 2014 11:32:08 +0000 > From: "Bittard, Julien" <[email protected]> > To: "[email protected]" <[email protected]> > Reply-To: [email protected] > > Hello, > > Nobody have try sharepoint 2013 ? > > Thank you. > > Julien. > > -----Message d'origine----- > De : Bittard, Julien [mailto:[email protected]] Envoyé : lundi > 3 février 2014 18:57 À : [email protected] Objet : Error on > update document with sharepoint 2013 > > Hello, > > I use opencmis client to connect our application to sharepoint 2013. > I have a problem that I reproduce with the workbench , when I want > to update properties or setcontentstream of an existing document on > sharepoint : > > > org.apache.chemistry.opencmis.commons.exceptions.CmisConstraintException: > The operation is attempting to update an object that is no longer > current. > at > > > org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.convertStatusCode(AbstractAtomPubService.java:482) > at > > > org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.put(AbstractAtomPubService.java:653) > at > > > org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.put(AbstractAtomPubService.java:640) > at > > > org.apache.chemistry.opencmis.client.bindings.spi.atompub.ObjectServiceImpl.updateProperties(ObjectServiceImpl.java:333) > at > > > org.apache.chemistry.opencmis.client.runtime.AbstractCmisObject.updateProperties(AbstractCmisObject.java:343) > at > > > org.apache.chemistry.opencmis.client.runtime.AbstractCmisObject.updateProperties(AbstractCmisObject.java:307) > > > I use openCmis 0.10.0, with java 1.7. > > Have You an idea ? > > Thank You. > > Julien
