Skip to content

IBM Docs Viewer not working with IBM Connections 6.0 with error CLFAF401W / CLFAF400W

If you have installed IBM Connections 6.0 and IBM Docs / Viewer 2.0 CR2 and the Viewer is not working, then check in the error logs if you are seeing the following error:

[05.04.17 17:38:23:018 CEST] 00000100 LCFilesEJBRep W   CLFAF401W: Document is not found. Exception when getting document 9bbd88a5-35c4-478f-8b27-046a03f07df2
[05.04.17 17:38:23:018 CEST] 00000100 ViewDocServle E   Request on IBM Docs Component :  request TgGBYr1l4a1hjA+6WaB3bF+Zwvs+J1PfukvRKtxVISq6GdY+uQoHkgVVSJnytESa with information {CLFAF400W: Can’t access the document repository.}

If so, you can try to change the way the Docs Viewer is accessing the files from Connections from the old “physical” way (e.g. grabbing it directly from the shared directory) to the new API / CMIS  based one. To do so open the following file

/WebSphere/AppServer/profiles/Dmgr01/config/cells/YOURCell/IBMDocs-config/viewer-config.json

and search for the following text:

       “class” : “com.ibm.concord.viewer.lc3.repository.LCFilesEJBRepository”,

                        “config” :
{
“files_path” : “V:/files/upload”
}

Then you replace it with the following and make sure to change the server name to your Connections / HTTP Server:

        “class”: “com.ibm.concord.viewer.lc3.repository.LCFilesCMISRepository“, 
                        “config”: 
                            {
                                “j2c_alias”: “connectionsAdmin”, 
                                “s2s_method”: “j2c_alias”, 
                                “server_url”: “http://yourconnections.server.com/files”, 
                                “files_path”: “V:/files/upload”
                             }

Then you will need to go into the WebSphere Administration console, do a full resynchronisation of the Nodes (to push the changed file to the Docs Server) and restart the FileViewer. This hopefully resolves this issue.


UPDATE
: The Docs development tried to find out the reason for this and it seems, like the root cause for this problem are likely some statements that were not given as required by the documention when applying IBM Docs CR2.

The update process for CR2 has changed a tiny little bit to previous versions and people might have missed this. In the past you had to run the following command: python applypatch.py -u ${USERNAME} -p ${PASSWORD} -f $ {WSADMINPATH} . With CR2 there are two more statements that need to be provided: -l ${FILESURL} -a ${J2CALIAS} .  Here the complete command:

python applypatch.py -u ${USERNAME} -p ${PASSWORD} -f $ {WSADMINPATH} -l ${FILESURL} -a ${J2CALIAS}
${USERNAME} is the user name of WAS
${PASSWORD} is the password for the user above
${WSADMINPATH} is the full path of wsadmin.bat/wsadmin.sh in the local server. On Linux, the default value is “/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/wsadmin.sh”. On
Windows, the default value is “C:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\bin\wsadmin.bat”
If you have integrated IBM Docs with IBM Connection Files, the following two parameters are necessary, otherwise, they can be ignored.
${FILESURL} is the URL for IBM Connections Files application. For example, http://connections.yourdomain.com/files 
${J2CALIAS} is IBM Connections administrative user’s J2C alias for Viewer application. For example, connectionsAdmin

Very important: if you use the default connectionsAdmin, make sure you spell it with a capital “A”.

19 Comments

  1. That’s great. Is it best practice now to use the API instead? Does that mean we do not need UNC/NFS/CIFS? Is the same true for the Conversion and Docs apps servers?

    • Martti Garden Martti Garden

      Hi Ben!

      Yes, CMIS is the best practice. Regarding your second question: I wish it were that simple. 😉 Unfortunately this does not help us getting rid of the requirement of mounting the Connections File Share on the Viewer server, as this is still required for laying down the thumbnails created by Docs. The ViewerShare and EditorShare would have been needed anyways, as CMIS is only used to communicate with Files (and all other 3rd party content repositories for that matter).

  2. Y.H. Y.H.

    We have a correct viewer-config.json after installing Docs 2.0 + CR2, but we still met such kind of issue. Any suggestion?

    • Martti Garden Martti Garden

      Difficult to say remotely: Do you still have the same error codes? Then this would mean that the changes are not taken. Can you have a look at the same file directly in the AppServer where the Viewer is running on? For e.g.: /WebSphere/AppServer/profiles/AppSrv01/config/cells/YOURCell/IBMDocs-config/viewer-config.json – are you changes there? Also, please make sure that connectionsAdmin in the j2c_Alias is spelled with a capital “A”.

      • Y.H. Y.H.

        Yes, we have checked:
        1. AppSrv01/config/cells/YOURCell/IBMDocs-config/viewer-config.json same as Dmgr01
        2. connectionsAdmin is right in j2c_alias

        but the viewer still not working.

        • Y.H. Y.H.

          We have another exception:
          component com.ibm.concord.viewer.platform.directory initialization failedjava.lang.IllegalStateException: Illegal URL string when perform initialization of class ECMDirectory

          is it ok?

  3. Y.H. Y.H.

    Hi, after we have installed connections 6 + Docs 2.0 + CR2 on Windows Server 2012 R2, we have a correct viewer-config.json(like your updated viewer-config.json), not like your wrong viewer-config.json.

    The question is why you got the wrong viewer-config.json if you installed connections 6 + Docs 2.0+CR2

    • Martti Garden Martti Garden

      Please see the update above, the Docs development found out what is likely the reason for this to happen to a few people.

      • Y.H. Y.H.

        Thnaks for your reply. We followed the CR2’s installation guide, so we did not have this issue.

        But our viewer still not working with IBM Connections 6.0 with error CLFAF401W / CLFAF400W.

        • Y.H. Y.H.

          Sorry sir, you are right. I missed to change LCFilesEJBRepository to LCFilesCMISRepository.

          Very thanks your information.

          • Martti Garden Martti Garden

            Does it work now?

            And my pleasure! 🙂

          • Same here. Works now.

            Might I suggest to make this little difference a little bit more obvious in the above post, Martti?

            Anyway, thanks for this.

          • Martti Garden Martti Garden

            Done, Oliver, I hope it is more obvious now. 🙂

  4. Thanks for sharing this man.

    I tried to upgrade my CR1 ifix002 Docs deployment to CR2.

    The script was able to upgrade everything except viewer. It took me a while to figure it out but I made some edits to viewer-config.json so I was able to preview XLSM files.
    Following this guide ->
    https://meisenzahl.org/2017/01/01/preview-xlsm-files-within-ibm-connections/

    It seems the CR2 upgrade script isn’t able to cope with those custom edits.

    It printed the following error:

    INFO Viewer update failed!

    And in iFixInstall.log it showed an error concerning line 319. Checking out viewer-config.json at line 319 I saw.
    „application/vnd.ms-excel.sheet.macroenabled.12“: „sheet“

    After removing it the upgrade script was able to update the viewer part as well..
    And the bonus is that CR2 supports XLSM per default so there you go :-).

    • Cheers Marco. I’ll back out these additions prior to my upgrade tonight.

  5. Jacques Pineau Jacques Pineau

    Hi Martti
    Thanks for this post
    It works for me

  6. Had another bump with a Docs CR2 deployment.

    It appears it expects the following four generic properties to be present in the LC-config.xml file before running the upgrade script.

    ( The system didn’t have CCM )

    true
    false
    false
    true

    2017-05-04 17:36:09,944 INFO DocsApp update failed!
    2017-05-04 17:36:09,944 DEBUG Traceback (most recent call last):
    File “applypatch.py”, line 54, in update_product
    set_lc_ccm_config()
    File “applypatch.py”, line 244, in set_lc_ccm_config
    update_lc_config(‘docs’)
    File “applypatch.py”, line 318, in update_lc_config
    logging.info(” element : ” + element)
    TypeError: cannot concatenate ‘str’ and ‘instance’ objects

    2017-05-04 17:37:19,911 INFO Viewer update failed!
    2017-05-04 17:37:19,911 DEBUG Traceback (most recent call last):
    File “applypatch.py”, line 54, in update_product
    set_lc_ccm_config()
    File “applypatch.py”, line 247, in set_lc_ccm_config
    update_lc_config(‘viewer’)
    File “applypatch.py”, line 318, in update_lc_config
    logging.info(” element : ” + element)
    TypeError: cannot concatenate ‘str’ and ‘instance’ objects

  7. trungdungcmc trungdungcmc

    thanks Martti so much,

    You save my time !!!

Leave a Reply

Your email address will not be published. Required fields are marked *