Hi Dave,

I'm afraid, your only option is to modify the PortCMIS code.
The problem here is that we don't know whether the old or the new value is valid if there really should only be one value. In the generic case, it's better to throw an exception than silently dropping one value. In your case, you may be able to ignore one value.


- Florian


Hello Everyone,



The portCMIS .NET CMIS Rest Client is throwing the following stacktrace
when trying to connect to an IBM Implementation of CMIS.



Type : PortCMIS.Exceptions.CmisConnectionException, PortCMIS,
Version=0.2.0.0, Culture=neutral

Source : PortCMIS

Exception: PortCMIS.Exceptions.CmisConnectionException: Parsing exception! ---> System.ArgumentException: An item with the same key has already been
added.

at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)

   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue
value, Boolean add)

I believe the error is due to a mistake that was made in an IBM
Implementation of CMIS that gives duplicate entries for canDelete.Object.



RESTful AtomPub binding service document for CMIS Specification V1.0:
https://cmisserver/fncmis/resources/Service



<cmis:mapping>

<cmis:key>canDelete.Object</cmis:key>

<cmis:permission>cmis:all</cmis:permission>

</cmis:mapping>





<cmis:mapping>

<cmis:key>canDelete.Object</cmis:key>

<cmis:permission>cmis:write</cmis:permission>

<cmis:permission>fn:DELETE</cmis:permission>

</cmis:mapping>



Any server side fixes will likely need to be implemented by IBM and
deployed by me as it is IBM's CMIS implementation with the issue (a CMIS
interface not based on Apache Chemistry).



I am aware that in future releases from IBM they also offer SOAP and REST interfaces built on Apache Chemistry so this issue will be resolved when
those planned updates are made to my system.



In the meantime I am curious if there are any client side tweaks (hopefully
configuration as opposed to code) that can be made to relax portCMIS so
that the duplicate cmis:mapping's in the service definition don't cause
the client to completely fail.



Thank You!

Dave

Reply via email to