Tuesday, January 31, 2012

com.ibm.workflow.client.util.FmcApiException: FMC38009E MQSeries Workflow API Error : API Return Code : 13 Error Origin : FmcSession.java:504 Error Message : FMC00013E Communication error - Failing Action: put, Reason Code: 0, Failing Object: .

com.ibm.workflow.client.util.FmcApiException:
FMC38009E MQSeries Workflow API Error :
    API Return Code  : 13
    Error Origin     : FmcSession.java:504
    Error Message    : FMC00013E Communication error - Failing Action: put, Reason Code: 0, Failing Object: .
    Nested Exception : None
    at com.ibm.workflow.client.api.FmcSession.CallSync(FmcSession.java:504)
    at com.ibm.workflow.client.api.FmcSession.Logon(FmcSession.java:999)
    at com.ibm.workflow.client.api.FmcExecutionService.logon2(FmcExecutionService.java:800)


Scenario:
- Using Rational Application Developer 7.5 with Websphere Application Server 7.0.
- MQ APIs are in project lib directory.
- The same use to work fine using Rational Application Developer 6.0 with Webpshere Application Server 5.1



Solution:
Remove the following rar file
IBM\SDP\runtimes\base_v7\profiles\profileName\installedConnectors\wmq.jmsra.rar
 

Reason:
Websphere Application Server 7.0 comes packaged with MQ APIs.


Note: This is one of the main reasons for this error.

java.lang.ClassCastException: com.ibm.mm.sdk.internal.sql.db2.PDB2ConnectionICM incompatible with com.ibm.mm.sdk.internal.sql.PConnectionICM

java.lang.ClassCastException: com.ibm.mm.sdk.internal.sql.db2.PDB2ConnectionICM incompatible with com.ibm.mm.sdk.internal.sql.PConnectionICM
    at com.ibm.mm.sdk.server.DKDatastoreICM.connect(DKDatastoreICM.java:3451)
    at com.ibm.mm.sdk.common.DKDatastorePool._createNewConnection(DKDatastorePool.java:1085)
    at com.ibm.mm.sdk.common.DKDatastorePool.access$000(DKDatastorePool.java:253)
    at com.ibm.mm.sdk.common.DKDatastorePool$DatastorePooledObjectManager.create(DKDatastorePool.java:1224)
    at com.ibm.mm.sdk.internal.PSimplePool._createPooledObject(PSimplePool.java:850)
    at com.ibm.mm.sdk.internal.PSimplePool.reserve(PSimplePool.java:553)
    at com.ibm.mm.sdk.common.DKDatastorePool.initConnections(DKDatastorePool.java:841)


Cause: In Rational Application Developer 7.5 using Websphere Application Server 7.0, when project is republished instead of server restart.

Solution: Create a shared library for these two files, so that they are loaded only once.
cmbsdk81.jar
icmsdk81.jar


To create a shared library, use the following link
http://www.redbooks.ibm.com/abstracts/tips0216.html?Open

com.ibm.mm.sdk.common.DKDatastoreAccessError: DGL0394A: Error in ::DriverManager.getConnection; cmbicmenv.ini (The system cannot find the file specified.); [SERVER = ICMNLSDB, USERID = ]

com.ibm.mm.sdk.common.DKDatastoreAccessError: DGL0394A: Error in ::DriverManager.getConnection; cmbicmenv.ini (The system cannot find the file specified.); [SERVER = ICMNLSDB, USERID = ]
    at com.ibm.mm.sdk.server.DKDatastoreICM.connect(DKDatastoreICM.java:3387)
    at com.ibm.mm.sdk.common.DKDatastorePool._createNewConnection(DKDatastorePool.java:1085)
    at com.ibm.mm.sdk.common.DKDatastorePool.access$000(DKDatastorePool.java:253)
    at com.ibm.mm.sdk.common.DKDatastorePool$DatastorePooledObjectManager.create(DKDatastorePool.java:1224)
    at com.ibm.mm.sdk.internal.PSimplePool._createPooledObject(PSimplePool.java:850)
    at com.ibm.mm.sdk.internal.PSimplePool.reserve(PSimplePool.java:553)
    at com.ibm.mm.sdk.common.DKDatastorePool.initConnections(DKDatastorePool.java:841)


One of the reasons is missing db2java.zip file

In Webpshere Application Server 7.0 Admin Console, make sure you add path for db2java.zip at

Application servers > serverName > Process definition > Java Virtual Machine > Configuration >Classpath

com.ibm.mm.sdk.common.DKUsageError: DGL7332A: Library server representation type was not found. Please make sure that a valid library server and representation type has been specified in the cmbicmsrvs.ini file or to the Content Manager connector. : ICMNLSDB

com.ibm.mm.sdk.common.DKUsageError: DGL7332A: Library server representation type was not found. Please make sure that a valid library server and representation type has been specified in the cmbicmsrvs.ini file or to the Content Manager connector. : ICMNLSDB
    at com.ibm.mm.sdk.server.DKDatastoreICM.connect(DKDatastoreICM.java:1659)
    at com.ibm.mm.sdk.common.DKDatastorePool._createNewConnection(DKDatastorePool.java:1085)
    at com.ibm.mm.sdk.common.DKDatastorePool.access$000(DKDatastorePool.java:253)
    at com.ibm.mm.sdk.common.DKDatastorePool$DatastorePooledObjectManager.create(DKDatastorePool.java:1224)
    at com.ibm.mm.sdk.internal.PSimplePool._createPooledObject(PSimplePool.java:850)
    at com.ibm.mm.sdk.internal.PSimplePool.reserve(PSimplePool.java:553)
    at com.ibm.mm.sdk.common.DKDatastorePool.initConnections(DKDatastorePool.java:841)


This happens when CM changes from 8.3 to 8.4 version.
One of the reasons is the CM library Files.

cmbsdk81.jar          Size:12,284 KB
icmsdk81.jar           Size:10,304 KB

make sure that these files are latest and are of the size as mentioned above.