Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
DotCMIS 0.5
-
None
-
Windows 7 Professional
Description
I am trying to retrieve objects within a SharePoint 2013 library, using "IFolder.GetChildren(…)"
In plain libraries this is working OK. But when the SharePoint library contains folders, the function always raises a NULL-Pointer-Exceptions.
After removing all folders from the SharePoint library the function works correct again.
The NULL pointer exception is caused in "binding-caches.cs", line 220, see stacktrace below.
Note 1: Using the CMIS Workbench (same connection parameters and same credentials) documents AND folders are listed correctly
Note 2: I already tried to add some code which simply avoids NULL-arguments. This does NOT help, just an empty result will be returned.
Note 3: A similar behavior occurs when trying to access objects using "ISession.GetObjectByPath()" --> rootFolder and documents are OK, subfolders will raise exceptions.
Sample output from my test program:
Path '/' --> Folder: Meine erste Bibliothek
Path '/NOTEBOOK.JPG' --> Picture: NOTEBOOK.JPG
Path '/AAA' --> EXCEPTION: Received Atom entry is not a CMIS entry!
Path '/AAA/' --> EXCEPTION: Received Atom entry is not a CMIS entry!
Path '/AAA/BBB' --> EXCEPTION: Received Atom entry is not a CMIS entry!
Path '/AAA/BBB/JUDGESCH.GIF' --> Document: JUDGESCH.GIF
Stacktrace:
bei System.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
bei System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
bei System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)
bei DotCMIS.Util.LRUCache`2.Remove(K key) in C:\EIS\CMIS\Chemistry\src\util.cs:Zeile 104.
bei DotCMIS.Binding.LruCacheLevel.Remove(String key) in C:\EIS\CMIS\Chemistry\src\binding\binding-caches.cs:Zeile 551.
bei DotCMIS.Binding.Cache.Remove(String[] keys) in C:\EIS\CMIS\Chemistry\src\binding\binding-caches.cs:Zeile 220.
bei DotCMIS.Binding.AtomPub.LinkCache.RemoveLinks(String repositoryId, String id) in C:\EIS\CMIS\Chemistry\src\binding\atompub\atompub-linkcache.cs:Zeile 126.
bei DotCMIS.Binding.AtomPub.AbstractAtomPubService.RemoveLinks(String repositoryId, String id) in C:\EIS\CMIS\Chemistry\src\binding\atompub\atompub.cs:Zeile 199.
bei DotCMIS.Binding.AtomPub.NavigationService.GetChildren(String repositoryId, String folderId, String filter, String orderBy, Nullable`1 includeAllowableActions, Nullable`1 includeRelationships, String renditionFilter, Nullable`1 includePathSegment, Nullable`1 maxItems, Nullable`1 skipCount, IExtensionsData extension) in C:\EIS\CMIS\Chemistry\src\binding\atompub\atompub.cs:Zeile 1080.
bei DotCMIS.Client.Impl.Folder.<>c_DisplayClass4.<GetChildren>b_3(Int64 maxNumItems, Int64 skipCount) in C:\EIS\CMIS\Chemistry\src\client\client-objects.cs:Zeile 1252.
bei DotCMIS.Client.Impl.PageFetcher`1.FetchNextPage(Int64 skipCount) in C:\EIS\CMIS\Chemistry\src\client\client-utils.cs:Zeile 563.
bei DotCMIS.Client.Impl.AbstractEnumerator`1.GetCurrentPage() in C:\EIS\CMIS\Chemistry\src\client\client-utils.cs:Zeile 528.
bei DotCMIS.Client.Impl.CollectionEnumerator`1.MoveNext() in C:\EIS\CMIS\Chemistry\src\client\client-utils.cs:Zeile 608.
bei TestClient.MainForm.DumpRepository(ISession session) in C:\EIS\CMIS\Chemistry\TestClient\MainForm.cs:Zeile 139.