ERRATUM - without misspellings
________________________________ De : Pascal Gillet <[email protected]> À : "[email protected]" <[email protected]> Envoyé le : Mercredi 9 octobre 2013 11h24 Objet : Fileshare repository Hi everyone, I struggle to create CMIS objects using the client API (not the bindings API) with the FileShare server. I thought CMIS FileShare should have worked out of the box without any complex configuration, but it does not seem to be the case. I managed to deploy the FileShare server into Tomcat: 1 [localhost-startStop-1] INFO org.apache.chemistry.opencmis.fileshare.FileShareServiceFactory – Added login 'test'. 3 [localhost-startStop-1] INFO org.apache.chemistry.opencmis.fileshare.FileShareServiceFactory – Added login 'cmisuser'. 4 [localhost-startStop-1] INFO org.apache.chemistry.opencmis.fileshare.FileShareServiceFactory – Added login 'reader'. 69 [localhost-startStop-1] INFO org.apache.chemistry.opencmis.fileshare.FileShareServiceFactory – Added repository 'test': /home/pgillet/test 1002 [localhost-startStop-1] INFO org.apache.chemistry.opencmis.fileshare.TypeManager – Added type 'myTestDocumentType'. 1003 [localhost-startStop-1] INFO org.apache.chemistry.opencmis.server.impl.CmisRepositoryContextListener – Initialized Services Factory: org.apache.chemistry.opencmis.fileshare.FileShareServiceFactory I configured my repository.properties file to use the type definitions in the example-type.xml file (this file is originally embedded in the WAR archive). I do not even know if it is useful or not. Then, I try to run the following test: public static void main(String[] args) { // default factory implementation SessionFactory factory = SessionFactoryImpl.newInstance(); Map<String, String> params = new HashMap<String, String>(); // user credentials params.put(SessionParameter.USER, "test"); params.put(SessionParameter.PASSWORD, "test"); // connection settings params.put(SessionParameter.ATOMPUB_URL, "http://localhost:8080/glue-content/atom"); params.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value()); // params.put(SessionParameter.REPOSITORY_ID, "test"); // create session List<Repository> repositories = factory.getRepositories(params); for (Repository r : repositories) { System.out.println("Found repository: " + r.getName()); } Repository repository = repositories.get(0); Session session = repository.createSession(); System.out.println("Got a connection to repository: " + repository.getName() + ", with id: " + repository.getId()); // Access to root folder Folder root = session.getRootFolder(); // line 65: Here is the problem ! ... Everything works fine until the last instruction. I have the following output: 11:17:02.583 [main] DEBUG o.a.c.o.c.b.s.atompub.CmisAtomPubSpi - Initializing AtomPub SPI... 11:17:05.474 [main] DEBUG o.a.c.o.c.b.s.h.DefaultHttpInvoker - GET http://localhost:8080/glue-content/atom Found repository: test 11:17:08.153 [main] DEBUG o.a.c.o.c.b.s.atompub.CmisAtomPubSpi - Initializing AtomPub SPI... 11:17:08.154 [main] DEBUG o.a.c.o.c.b.s.h.DefaultHttpInvoker - GET http://localhost:8080/glue-content/atom?repositoryId=test Got a connection to repository: test, with id: test 11:17:08.419 [main] DEBUG o.a.c.o.c.b.s.h.DefaultHttpInvoker - GET http://localhost:8080/glue-content/atom/test/id?id=%40root%40&filter=&includeAllowableActions=true&includeACL=false&includePolicyIds=false&includeRelationships=none&renditionFilter=cmis%3Anone 11:17:08.637 [main] DEBUG o.a.c.o.c.b.s.h.DefaultHttpInvoker - GET http://localhost:8080/glue-content/atom/test/type?id=cmis%3Afolder Exception in thread "main" java.lang.IllegalArgumentException: Object type must have property definitions! at org.apache.chemistry.opencmis.client.runtime.AbstractCmisObject.initialize(AbstractCmisObject.java:95) at org.apache.chemistry.opencmis.client.runtime.FolderImpl.<init>(FolderImpl.java:68) at org.apache.chemistry.opencmis.client.runtime.repository.ObjectFactoryImpl.convertObject(ObjectFactoryImpl.java:572) at org.apache.chemistry.opencmis.client.runtime.SessionImpl.getObject(SessionImpl.java:414) at org.apache.chemistry.opencmis.client.runtime.SessionImpl.getRootFolder(SessionImpl.java:489) at org.apache.chemistry.opencmis.client.runtime.SessionImpl.getRootFolder(SessionImpl.java:483) at com.glue.feed.ContentTest.main(ContentTest.java:65) I guess that I am missing some configuration step somewhere! I tried to google the error message, but it seems that no one is experiencing the problem. Thank you very much for you help, Pascal GILLET
