Невозможно перемещаться или запрашивать определенные подпапки в SharePoint 2013 с помощью DotCMIS или CMIS Workbench
CMIS Workbench / DotCMIS Проблема с SharePoint 2013
- Не удается получить GetChildren() определенных подпапок
i.e. /.../001
- Невозможно выполнить cmis: запрос
Select * From cmis:folder
1. Не удается получить GetChildren() некоторых подпапок
Исключение DotCMIS.Client.Impl.Folder.GetChildren()
через конечную точку веб-службы (папка /.../001)
DotCMIS.Exceptions.CmisConstraintException: Cannot complete this action. Please try again.
at DotCMIS.Binding.WebServices.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 D:\Projects\CMIS\DotCMIS\binding\webservices\webservices.cs:line 653
at DotCMIS.Client.Impl.Folder.<>c__DisplayClass4.<GetChildren>b__3(Int64 maxNumItems, Int64 skipCount) in D:\Projects\CMIS\DotCMIS\client\client-objects.cs:line 1124
at DotCMIS.Client.Impl.PageFetcher`1.FetchNextPage(Int64 skipCount) in D:\Projects\CMIS\DotCMIS\client\client-utils.cs:line 563
at DotCMIS.Client.Impl.AbstractEnumerator`1.GetCurrentPage() in D:\Projects\CMIS\DotCMIS\client\client-utils.cs:line 528
at DotCMIS.Client.Impl.CollectionEnumerator`1.MoveNext() in D:\Projects\CMIS\DotCMIS\client\client-utils.cs:line 608
at ConsoleTest.Module1.Demo(ENDPOINT_TYPE endpoint_type) in D:\Projects\CMIS\ConsoleTest\Module1.vb:line 396
через конечную точку AtomPub (папка /.../001)
DotCMIS.Exceptions.CmisConnectionException: Parsing exception! ---> System.Xml.XmlException: An error has occurred while opening external DTD 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd': The remote server returned an error: (500) Internal Server Error. ---> System.Net.WebException: The remote server returned an error: (500) Internal Server Error.
at System.Net.HttpWebRequest.GetResponse()
at System.Xml.XmlDownloadManager.GetNonFileStream(Uri uri, ICredentials credentials, IWebProxy proxy, RequestCachePolicy cachePolicy)
at System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials, IWebProxy proxy, RequestCachePolicy cachePolicy)
at System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)
at System.Xml.XmlTextReaderImpl.OpenAndPush(Uri uri)
at System.Xml.XmlTextReaderImpl.PushExternalEntityOrSubset(String publicId, String systemId, Uri baseUri, String entityName)
--- End of inner exception stack trace ---
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.PushExternalEntityOrSubset(String publicId, String systemId, Uri baseUri, String entityName)
at System.Xml.XmlTextReaderImpl.DtdParserProxy_PushExternalSubset(String systemId, String publicId)
at System.Xml.XmlTextReaderImpl.DtdParserProxy.System.Xml.IDtdParserAdapter.PushExternalSubset(String systemId, String publicId)
at System.Xml.DtdParser.ParseExternalSubset()
at System.Xml.DtdParser.ParseInDocumentDtd(Boolean saveInternalSubset)
at System.Xml.DtdParser.Parse(Boolean saveInternalSubset)
at System.Xml.DtdParser.System.Xml.IDtdParser.ParseInternalDtd(IDtdParserAdapter adapter, Boolean saveInternalSubset)
at System.Xml.XmlTextReaderImpl.ParseDtd()
at System.Xml.XmlTextReaderImpl.ParseDoctypeDecl()
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.XmlReader.MoveToContent()
at System.Xml.XmlReader.IsStartElement()
at DotCMIS.Binding.AtomPub.AtomPubParser.Parse() in D:\Projects\CMIS\DotCMIS\binding\atompub\atompub-parser.cs:line 90
at DotCMIS.Binding.AtomPub.AbstractAtomPubService.Parse[T](Stream stream) in D:\Projects\CMIS\DotCMIS\binding\atompub\atompub.cs:line 418
--- End of inner exception stack trace ---
at DotCMIS.Binding.AtomPub.AbstractAtomPubService.Parse[T](Stream stream) in D:\Projects\CMIS\DotCMIS\binding\atompub\atompub.cs:line 422
at 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 D:\Projects\CMIS\DotCMIS\binding\atompub\atompub.cs:line 1134
at DotCMIS.Client.Impl.Folder.<>c__DisplayClass4.<GetChildren>b__3(Int64 maxNumItems, Int64 skipCount) in D:\Projects\CMIS\DotCMIS\client\client-objects.cs:line 1124
at DotCMIS.Client.Impl.PageFetcher`1.FetchNextPage(Int64 skipCount) in D:\Projects\CMIS\DotCMIS\client\client-utils.cs:line 563
at DotCMIS.Client.Impl.AbstractEnumerator`1.GetCurrentPage() in D:\Projects\CMIS\DotCMIS\client\client-utils.cs:line 528
at DotCMIS.Client.Impl.CollectionEnumerator`1.MoveNext() in D:\Projects\CMIS\DotCMIS\client\client-utils.cs:line 608
at ConsoleTest.Module1.Demo(ENDPOINT_TYPE endpoint_type) in D:\Projects\CMIS\ConsoleTest\Module1.vb:line 399
через конечную точку AtomPub (папка /.../002) примечание: через WS не исключение.?
DotCMIS.Exceptions.CmisRuntimeException: Unauthorized
at DotCMIS.Binding.AtomPub.AbstractAtomPubService.Read(UrlBuilder url) in D:\Projects\CMIS\DotCMIS\binding\atompub\atompub.cs:line 442
at 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 D:\Projects\CMIS\DotCMIS\binding\atompub\atompub.cs:line 1133
at DotCMIS.Client.Impl.Folder.<>c__DisplayClass4.<GetChildren>b__3(Int64 maxNumItems, Int64 skipCount) in D:\Projects\CMIS\DotCMIS\client\client-objects.cs:line 1124
at DotCMIS.Client.Impl.PageFetcher`1.FetchNextPage(Int64 skipCount) in D:\Projects\CMIS\DotCMIS\client\client-utils.cs:line 563
at DotCMIS.Client.Impl.AbstractEnumerator`1.GetCurrentPage() in D:\Projects\CMIS\DotCMIS\client\client-utils.cs:line 528
at DotCMIS.Client.Impl.CollectionEnumerator`1.MoveNext() in D:\Projects\CMIS\DotCMIS\client\client-utils.cs:line 608
at ConsoleTest.Module1.Demo(ENDPOINT_TYPE endpoint_type) in D:\Projects\CMIS\ConsoleTest\Module1.vb:line 399
CMIS Workbench перейти к подпапке (через конечную точку AtomPub)
Error
connection:
Unexpected document! Received: HTML document
CMIS Workbench перейти к подпапке (через конечную точку Web Service)
Error
runtime:
Cannot complete this action.
Please try again.
2. Невозможно выполнить cmis: запрос Select * From cmis:folder
CMIS Workbench Query (через конечную точку AtomPub)
Повторная отправка запроса дает другое сообщение об ошибке
DotCMIS cmis: запрос (через конечную точку AtomPub)
DotCMIS.Exceptions.CmisRuntimeException: Unauthorized
at DotCMIS.Binding.AtomPub.AbstractAtomPubService.Post(UrlBuilder url, String contentType, Output writer) in D:\Projects\CMIS\DotCMIS\binding\atompub\atompub.cs:line 454
at DotCMIS.Binding.AtomPub.DiscoveryService.Query(String repositoryId, String statement, Nullable`1 searchAllVersions, Nullable`1 includeAllowableActions, Nullable`1 includeRelationships, String renditionFilter, Nullable`1 maxItems, Nullable`1 skipCount, IExtensionsData extension) in D:\Projects\CMIS\DotCMIS\binding\atompub\atompub.cs:line 2629
at DotCMIS.Client.Impl.Session.<>c__DisplayClass7.<Query>b__6(Int64 maxNumItems, Int64 skipCount) in D:\Projects\CMIS\DotCMIS\client\client-impl.cs:line 722
at DotCMIS.Client.Impl.PageFetcher`1.FetchNextPage(Int64 skipCount) in D:\Projects\CMIS\DotCMIS\client\client-utils.cs:line 563
at DotCMIS.Client.Impl.AbstractEnumerator`1.GetCurrentPage() in D:\Projects\CMIS\DotCMIS\client\client-utils.cs:line 528
at DotCMIS.Client.Impl.CollectionEnumerator`1.MoveNext() in D:\Projects\CMIS\DotCMIS\client\client-utils.cs:line 608
at ConsoleTest.Module1.Demo(ENDPOINT_TYPE endpoint_type) in D:\Projects\CMIS\ConsoleTest\Module1.vb:line 545
CMIS Workbench Query (через конечную точку Web Service)
DotCMIS cmis: запрос (через конечную точку Web Service)
DotCMIS.Exceptions.CmisConstraintException: Cannot complete this action.
Please try again.
at DotCMIS.Binding.WebServices.DiscoveryService.Query(String repositoryId, String statement, Nullable`1 searchAllVersions, Nullable`1 includeAllowableActions, Nullable`1 includeRelationships, String renditionFilter, Nullable`1 maxItems, Nullable`1 skipCount, IExtensionsData extension) in D:\Projects\CMIS\DotCMIS\binding\webservices\webservices.cs:line 1425
at DotCMIS.Client.Impl.Session.<>c__DisplayClass7.<Query>b__6(Int64 maxNumItems, Int64 skipCount) in D:\Projects\CMIS\DotCMIS\client\client-impl.cs:line 722
at DotCMIS.Client.Impl.PageFetcher`1.FetchNextPage(Int64 skipCount) in D:\Projects\CMIS\DotCMIS\client\client-utils.cs:line 563
at DotCMIS.Client.Impl.AbstractEnumerator`1.GetCurrentPage() in D:\Projects\CMIS\DotCMIS\client\client-utils.cs:line 528
at DotCMIS.Client.Impl.CollectionEnumerator`1.MoveNext() in D:\Projects\CMIS\DotCMIS\client\client-utils.cs:line 608
at ConsoleTest.Module1.Demo(ENDPOINT_TYPE endpoint_type) in D:\Projects\CMIS\ConsoleTest\Module1.vb:line 545
(Только через конечную точку WS) Запрос работает, когда я ограничиваю до 24 максимальных хитов:
После некоторых проб и ошибок обнаружил, что некоторые предметы вызывали ошибку.
Этот запрос в порядке:
SELECT * FROM cmis:folder WHERE ID < 39 OR ID > 42
Тем не менее, это приведет к ошибке Error runtime: Cannot complete this action. Please try again.
:
SELECT * FROM cmis:folder Where id = 39 (/.../001/001-01)
SELECT * FROM cmis:folder Where id = 40 (/.../001/001-02)
SELECT * FROM cmis:folder Where id = 42 (/.../001/001-02/001-02-01)
Как мне устранить эту проблему?
У меня нет проблем с просмотром папки и ее подпапок с использованием одной и той же учетной записи пользователя в SharePoint:
Я также исправил SharePoint с последним накопительным обновлением (февраль, март 2016 г.), которое исправило проблему с журналом изменений через конечную точку AtomPub благодаря Флориану Мюллеру.