cancel
Showing results for 
Search instead for 
Did you mean: 

Retrieve CMIS Base Objects

maqsood
Confirmed Champ
Confirmed Champ
Hi,

I'm trying to retrieve CMIS base objects (cmis:document, cmis:folder ..) through the below code. However, it is returning proper results with Alfresco 4.x version and throwing exception with Alfresco 5.0.b.

I'm using Alfresco OpenCMIS extension v0.7 and CMIS v1.0 Atompub binding.

Any help or pointer would be appreciated!

Code:

ItemIterable<ObjectType> types = session.getTypeChildren(null, true);
Map<String, String> baseTypesMap = new HashMap<>();
for (ObjectType type : types) {
    baseTypesMap.put(type.getId(), type.getDisplayName());
}


Exeption:

org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException: Unknown base type!
   at org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl.convertTypeDefinition(AlfrescoObjectFactoryImpl.java:89)
   at org.apache.chemistry.opencmis.client.runtime.SessionImpl.convertTypeDescendants(SessionImpl.java:545)
   at org.apache.chemistry.opencmis.client.runtime.SessionImpl.getTypeDescendants(SessionImpl.java:534)
   at nl.ciber.alf.migration.common.services.impl.DataDictionaryRetrievalService.getBaseTypes(DataDictionaryRetrievalService.java:59)
   at nl.ciber.alf.migration.test.DictionaryServiceTest.getCMISBaseContentTypes(DictionaryServiceTest.java:45)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
   at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
   at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
   at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
   at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
   at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
   at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
   at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
   at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
   at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
   at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
   at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
   at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
   at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
   at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
   at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74)
   at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:211)
   at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:67)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
2 REPLIES 2

mrogers
Star Contributor
Star Contributor
That version of the alfresco open cmis extension is not compatible with 5.0.    Current version is IIRC 0.13

Anyway it's available from alfresco's maven.

Thanks for the pointer, mrogers! I'll try with the latest version.