IBM Support

Failed to connect to JMX port on localhost

Technote (troubleshooting)


When connecting to a local server using the Job Manager in either the MDM Development or MDM Configuration perspectives in the InfoSphere MDM Workbench in Rational Application Developer, the following connection error is received:

Job Manager Error: Unable to connect to server "WebSphere Application Server v8.5 at localhost": Failed to connect to the JMX port on server "WebSphere Application Server v8.5 at localhost"


Errors may be seen in your error log (eg trace.log) similar to the following:

CacheManagerI E CacheLoader Exception in getCache: java.lang.RuntimeException: c[9/27/15 16:06:06:598 EDT] 00000063 CacheManagerI E java.lang.RuntimeException: [Exception_RepositoryImpl_CreateConnectionFailed:] CDKCR2019E:A failure occurred while trying to create a connection to the configuration repository database.
Caused by: [Exception_RepositoryImpl_CreateConnectionFailed:] CDKCR2019E:A failure occurred while trying to create a connection to the configuration repository database.
Caused by: java.sql.SQLException: [jcc][t4][2013][11249][3.66.46] Connection authorization failure occurred. Reason: User ID or Password invalid. ERRORCODE=-4214, SQLSTATE=28000 DSRA0010E: SQL State = 28000, Error Code = -4,214


JDBC data source password(s) set incorrectly in Websphere.

Resolving the problem

This error may sometimes be presented after a customer has changed their database credentials (username and/or password).

Websphere Configuration
There are several data sources installed with the MDM product. To view them, go to the Websphere (WAS) console and then select Resources -> JDBC -> Data sources. Make sure that you are viewing the WAS console of the actual application server itself, and not a dmgr instance.

You will usually see (at least) five MDM data sources. They will look similar to the following:
DWLConfig, DWLCustomer, Default Datasource, MDM and _mdmNode.server1-MDM.SIB.server1

Credential information should be verified as correct via the following procedure.

1) Click on DWLConfig.

2) Under Additional Properties, click on Custom Properties.

3) Make sure User is correct. If not, click on User, change the Value to the correct username, then click on OK - click "Save directly to the master configuration" if prompted.

4) Click Password.
5) The value in the password field is commonly shown as {xor} followed by a string of encoded characters. Your current database password must be encoded and then inserted into this field along with {xor}.

A minor procedure must be followed in order to generate the {xor} encoded value of a password. The procedure uses the PropFilePasswordEncoder script and is documented here:

Please following the instructions in the link above to generate your password's encoded value.

6) Enter the encoded password value directly after the {xor} in the password Value box. Example only is shown below, your {xor} value will likely be different.

7) Click on OK, then click "Save directly to the master configuration" if prompted.

Return to Resources -> JDBC -> Data sources in the WAS console, then repeat steps 1-7 above for the DWLCustomer and MDM data sources. In particular, you must ensure that the encoded {xor} passwords in Custom Properties for each is precisely correct and matches to your current database password. They must also all be the same.

Once all three data sources have been updated and the configuration saved, please stop and then restart your WAS server. After this, please try your JMX action again in the Rational Application Developer interface and it should now connect properly. You can test by going to the MDM Configuration perspective, then choosing the Jobs tab, right-clicking on your WAS server and then clicking Connect to server as shown below.

Filesystem: Configuration Files
After checking the JDBC configuration in Websphere, there are a couple of additional files used by the MDM software, and these files also need to be checked to ensure that they contain the correct password.

File location:
<Websphere Root>\AppServer\profiles\<App Server Name>\installedApps\<cellname>\MDM-native-E001.ear\native.war\conf

Open both of these files in a text editor.

In you will see a line similar to the following:

  • It could also show PWD instead of PWD2. PWD would be showing a plaintext password.

In you will see a line similar to the following:

  • It could also show password= instead of password2=. password= would be showing a plaintext password.

These passwords should be correct for your database. It will obviously not be immediately possible to tell if you have the correct password since pwd2 is encrypted. If you are using pwd2 encryption you should verify that the hash values in these files match to the correct password.

You can use the madpwd2 utility (located in [...]\native.war\bin) to generate the pwd2 value for a password. Input and output will be similar to this:

bin> madpwd2 -e yourpassword
PLAINTEXT = (yourpassword)
ENCRYPTED = ( F6F673A2D1D6BA9821D27201B9CA0DE1BE19C43D86A7FEB5BC1019A428F74F8C)
DECRYPTED = (password)

The highlighted hash which you will see when you transform your correct password, will be the hash that you need to add to the two .cfg files above. Do this, save both files and then completely restart the engine for the setting to take effect. You may find it easier to just stop then restart your Websphere server.

You may also wish to check here for an alternate solution to this issue.

Related information

Alternate solution for this issue - Technote #1683333

Document information

More support for: Initiate Master Data Service

Software version: 11.0.0, 11.3.0, 11.4.0

Operating system(s): Platform Independent

Reference #: 1968203

Modified date: 15 October 2015