Forum Stats

  • 3,853,853 Users
  • 2,264,287 Discussions
  • 7,905,483 Comments

Discussions

File upload through Apache Chemistry/CMIS does not work completely

derlanders
derlanders Member Posts: 5
edited Jul 30, 2018 6:29AM in WebCenter Portal

Disclaimer:

Content Management System-Server. Version 12.2.1.2.0-2016-10-06 07:41:00Z-r148019

WebCenter Portal : Version 12.2.1.2.0(Build 161003.0839.S) + Patches p27430719_122120_Generic and p28143331_122120_Generic

FrameworkFolders : activated

Folders_g        : skipped/deactivated

Hello again,

after successfully patching away Can't create Folders through CMIS - cmis:objectTypeId missing, I'm stuck at the next hurdle - trying to upload a file. Creating folders works through Chemistry/CMIS/Atompub now, so session config etc. should be OK.

First problem: Uploading does not work at all if cmis:name is not set to "idcPrimaryFile".

As i've learned from https://www.databaseadm.com/article/13828429/create+document+via+CMIS+REST+API, this is probably due to a missing Slug header param. If you had any hints about this as well, I would certainly be grateful.

For the moment, I'm trying to upload with cmis:name set to "idcPrimaryFile" and the following CMIS Properties:

/cmis/IDC:GlobalProfile.ora:p:dDocTitle : "idcPrimaryFile"

/cmis/IDC:GlobalProfile.ora:p:dDocType": "Application"

/cmis/IDC:GlobalProfile.ora:p:dSecurityGroup": "Public"

I see the file in WCC aferwards, so the upload should have been successful. But Folder.createDocument() does not return the Object ID and there is the following Event in the WCC log:

!csUserEventMessage,ENTW5,CIS!$!csUnableToGetRevInfo2,QTORACLEWCC162001004!csGetFileUnableToFindRevision,csGetFileRevMethodLabel_LatestReleased,QTORACLEWCC162001004<br/>intradoc.common.ServiceException: !csUnableToGetRevInfo2,QTORACLEWCC162001004<br/>*ScriptStack DOC_INFO_BY_NAME<br/>3:vcrGetDocInfoByName,dDocName=QTORACLEWCC1620010043:determineID,dDocName=QTORACLEWCC162001004<br/>  at intradoc.server.ServiceRequestImplementor.buildServiceException(ServiceRequestImplementor.java:2259)<br/>  at intradoc.server.Service.buildServiceException(Service.java:2432)<br/>  at intradoc.server.Service.createServiceExceptionEx(Service.java:2426)<br/>  at intradoc.server.Service.createServiceException(Service.java:2421)<br/>  at intradoc.server.DocCommonHandler.determineID(DocCommonHandler.java:715)<br/>  at sun.reflect.GeneratedMethodAccessor583.invoke(Unknown Source)<br/>  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br/>  at java.lang.reflect.Method.invoke(Method.java:498)<br/>  at intradoc.common.IdcMethodHolder.invokeMethod(IdcMethodHolder.java:86)<br/>  at intradoc.common.ClassHelperUtils.executeMethodReportStatus(ClassHelperUtils.java:324)<br/>  at intradoc.server.ServiceHandler.executeAction(ServiceHandler.java:79)<br/>  at intradoc.server.Service.doCodeEx(Service.java:626)<br/>  at intradoc.server.Service.doCode(Service.java:598)<br/>  at intradoc.server.ServiceRequestImplementor.doAction(ServiceRequestImplementor.java:1760)<br/>  at intradoc.server.Service.doAction(Service.java:570)<br/>  at intradoc.server.ServiceRequestImplementor.doActions(ServiceRequestImplementor.java:1550)<br/>  at intradoc.server.Service.doActions(Service.java:565)<br/>  at intradoc.server.ServiceRequestImplementor.executeActions(ServiceRequestImplementor.java:1482)<br/>  at intradoc.server.Service.executeActions(Service.java:551)<br/>  at intradoc.server.ServiceRequestImplementor.executeServiceDirect(ServiceRequestImplementor.java:1225)<br/>  at intradoc.server.ServiceRequestImplementor.executeServiceSimple(ServiceRequestImplementor.java:1165)<br/>  at intradoc.server.Service.executeServiceSimple(Service.java:4209)<br/>  at intradoc.server.vcr.VcrServiceHandler.vcrGetDocInfoByName(VcrServiceHandler.java:596)<br/>  at sun.reflect.GeneratedMethodAccessor593.invoke(Unknown Source)<br/>  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br/>  at java.lang.reflect.Method.invoke(Method.java:498)<br/>  at intradoc.common.IdcMethodHolder.invokeMethod(IdcMethodHolder.java:86)<br/>  at intradoc.common.ClassHelperUtils.executeMethodReportStatus(ClassHelperUtils.java:324)<br/>  at intradoc.server.ServiceHandler.executeAction(ServiceHandler.java:79)<br/>  at intradoc.server.Service.doCodeEx(Service.java:626)<br/>  at intradoc.server.Service.doCode(Service.java:598)<br/>  at intradoc.server.ServiceRequestImplementor.doAction(ServiceRequestImplementor.java:1760)<br/>  at intradoc.server.Service.doAction(Service.java:570)<br/>  at intradoc.server.ServiceRequestImplementor.doActions(ServiceRequestImplementor.java:1550)<br/>  at intradoc.server.Service.doActions(Service.java:565)<br/>  at intradoc.server.ServiceRequestImplementor.executeActions(ServiceRequestImplementor.java:1482)<br/>  at intradoc.server.Service.executeActions(Service.java:551)<br/>  at intradoc.server.ServiceRequestImplementor.doRequest(ServiceRequestImplementor.java:760)<br/>  at intradoc.server.Service.doRequest(Service.java:2004)<br/>  at intradoc.server.ServiceManager.processCommand(ServiceManager.java:520)<br/>  at intradoc.server.IdcServerThread.processRequest(IdcServerThread.java:359)<br/>  at intradoc.server.IdcServerThread.run(IdcServerThread.java:219)<br/>  at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:666)<br/>  at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348)<br/>  at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333)<br/>  at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54)<br/>  at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)<br/>  at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:640)<br/>  at weblogic.work.ExecuteThread.execute(ExecuteThread.java:406)<br/>  at weblogic.work.ExecuteThread.run(ExecuteThread.java:346)<br/>Caused by: intradoc.common.ServiceException: !csGetFileUnableToFindRevision,csGetFileRevMethodLabel_LatestReleased,QTORACLEWCC162001004<br/>  at intradoc.server.utils.FileRevisionSelectionUtils.computeDocumentRevisionInfo(FileRevisionSelectionUtils.java:518)<br/>  at intradoc.server.DocCommonHandler.determineID(DocCommonHandler.java:710)<br/>  ... 45 more

Any Idea about what I'm missing here?

Best regards and thanks in advance,

Stephan

Answers

  • Daniel Merchán
    Daniel Merchán Enterprise Achitect Member Posts: 2,192 Gold Trophy
    edited Jul 26, 2018 2:34AM

    Hi,

    Have you found a solution already?.

    Thanks.

  • derlanders
    derlanders Member Posts: 5
    edited Jul 30, 2018 6:29AM

    Hello Daniel,

    actually, we are planning to reimplement the interface using a more direct REST/ATOMPUB based approach (instead of using Apache Chemistry). From my preliminary tests it seems that the required functions (Create Folder, Upload, Copy, Move, get/set Properties, Delete, ID Exist check, Content URL, Renditions) do work via REST/ATOMPUB, they just don't seem to work through "plain" CMIS. If I would have to guess, I'd say there is a mixup between name (and perhaps type) Information transferred through HTTP Headers, ATOMPUB Data and CMIS Property data. I will probably check back here once the new implementation starts.

    Best regards,

    Stephan

This discussion has been closed.