You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by "Bittard, Julien" <ju...@cgi.com> on 2014/03/19 00:23:58 UTC
RE: RE: Error on update document with sharepoint 2013
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:fmui@apache.org]
Envoyé : mercredi 19 février 2014 12:53
À : dev@chemistry.apache.org
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:fmui@apache.org]
> Envoyé : mardi 18 février 2014 12:43
> À : Bittard, Julien
> Cc : dev@chemistry.apache.org
> 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" <ju...@cgi.com>
> To: "dev@chemistry.apache.org" <de...@chemistry.apache.org>
> Reply-To: dev@chemistry.apache.org
>
> Hello,
>
> Nobody have try sharepoint 2013 ?
>
> Thank you.
>
> Julien.
>
> -----Message d'origine-----
> De : Bittard, Julien [mailto:julien.bittard@cgi.com] Envoyé : lundi
> 3 février 2014 18:57 À : dev@chemistry.apache.org 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