Troubleshooting CMCI JVM server

The CMCI JVM server is a Liberty server that enables the CICS management client interface (CMCI), an HTTP-based system management application programming interface (API). Learn how to resolve the most common problems people encounter in the CMCI JVM server.

Collecting MustGather data for IBM Support

If you want to contact IBM Support for troubleshooting, see Troubleshooting data for CMCI JVM server problems.

Internal server error when using Gradle or Maven plug-in

Your application developer might see this error in the Gradle or Maven log when deploying a CICS bundle to the CICS® bundle deployment API using the Gradle or Maven plug-in:
com.ibm.cics.bundle.deploy.BundleDeployException: An internal server error occurred. Please contact your system administrator

Check the messages.log of the CMCI JVM server for more details.

URIMAP installedurimap specifies a path which conflicts with EYUCMCIU error when starting SMSS

You might get this message when you start an SMSS that is configured with the CMCI JVM server:
EYUNX0110W CICPY01X URIMAP DFH£WUUR specifies a path which conflicts with EYUCMCIU

It occurs because an installed URIMAP, usually based on previous basic SMSS configuration, conflicts with the URIMAP resource that is being installed to enable the SMSS. Consider removing resources that were installed for the basic SMSS and prevent them from being reinstalled during the CICS startup. If you installed the TCPIPSERVICE and URIMAP resources by using the samples DFH$WUTC and DFH$WUUR, remove the resource definitions from your environment.

Authentication and authorization errors

If you see one of the following errors in the CMCI JVM server messages.log, there might be something wrong with the security setup.

CWWKS9104A: Authorization failed for user <user>:defaultRealm while invoking CMCI on /. The user is not granted access to any of the required roles: [DEPLOYER].
CWWKS2911E: SAF Service RACROUTE_AUTH did not succeed because the resource profile <profilePrefix>.CMCI.DEPLOYER in class EJBROLE does not exist.
User ID not authorised for CICS transaction
Missing BBG.SYNC.<profilePrefix> ID(<user>) ACCESS(READ) READ RACF profile
CWWKS2912E: SAF service RACROUTE_FASTAUTH did not succeed because user <user> is not authorized to access the resource profile BBG.SYNC.<user> in class SURROGAT.
internalMessage=Failed to request CICSplex, exceptionString=com.ibm.cics.drake.cpsm.http.CPSMException: Response was NOTPERMIT, USRID
internalMessage=Failed to request region, exceptionString=com.ibm.cics.drake.cpsm.http.CPSMException: Response was NOTPERMIT, USRID
internalMessage=Error verifying bundle definition exists, exceptionString=com.ibm.cics.drake.cpsm.http.CPSMException: Response was NOTPERMIT, USRID

Make sure you configure access for corresponding roles and run all the required CLISTs, as described in Setting up CMCI in a single CICS region.

Error creating directory when using Gradle or Maven plug-in

If your application developer sees this message in the Gradle or Maven log when deploying a bundle to the CICS bundle deployment API, check that the deploy_userid has WRITE access to the bundles directory. The bundles directory is specified on the com.ibm.cics.jvmserver.cmci.bundles.dir option in the JVM profile of the CMCI JVM server.

[ERROR]  - Error creating directory '<directory>'.

For instructions on how to specify the bundles directory and grant access to deploy_userid, see Configuring the CMCI JVM server for the CICS bundle deployment API.

"CMCIPORT(nnnnn)" must be supplied

If you see this message in the STDERR log of the JVM server, it's because the CMCIPORT is not specified for the EYUSMSS data set.
EYUCMCIJ: java.lang.RuntimeException: EYUSMSS "CMCIPORT(nnnnn)" must be supplied

Specify the CMCIPORT option as described in Specifying CMCI and TCP/IP options for the SMSS.