Gen client/server EJBRMI under Liberty shows EJBRMIBeanInstance.doFlow exception
search cancel

Gen client/server EJBRMI under Liberty shows EJBRMIBeanInstance.doFlow exception

book

Article ID: 381547

calendar_today

Updated On:

Products

Gen Gen - Run Time Distributed

Issue/Introduction

  1. Using copy of Gen 8.6 sample model with name samptest.ief.

  2. The %Gen86%\Gen\commcfg.properties file has this entry to use EJBRMI for the client/server connection:
    *=EJBRMI Y samptest

  3. Generated and built cooperative Window Manager W900 and Server Manager P900 with TP Monitor INTRANET and EJB Web Services respectively.
    Have assembled using separate .ear files for client and server.
    The server .ear file has name samptest.ear to match the above commcfg.properties file entry.
    The client .ear file has a genrt.jar file that includes the above commcfg.properties file.

  4. Deployed both .ear files to WebSphere Liberty Application Server.
    Test web client using: http://localhost:9080/samptest/g900.jsp
    When try to use List > Divisions receive error:



TIRM030E: Application failed - Updates have been backed out
TIRM031E: Failing procedure exit data follows:
TIRM032E: Last or current action block id = 0022020129
TIRM033E: Last or current action block name = CLIENT_MAINTAIN_DIVISION
TIRM034E: Last or current database statement = 0
TIRM035E: Current statement being processed = 0000000037
TIRM037E: Fatal Error was encountered ***
TIRM158E: A communication error was encountered on the client
[Function: EJBRMIBeanInstance.doFlow]Exception attempting to call 'call'
com.ca.gen.csu.exception.CSUException: [Function: EJBRMIBeanInstance.doFlow]Synchronous Use Of: Action Block "com.ca.EJSLocal0SLSERVER_MAINTAIN_DIVISION_50fdd963" Parameter [0] com.ca.gen.odc.coopflow.ejbrmi.EJBRMIRequest is not the same as com.ca.SERVERMA_IA
TIRM046E: Processing terminated ***
TIRM044E: Press OK to continue ***

Environment

Gen 8.6 Java web client and EJB (EJB Web Services) server using EJBRMI communications.

Cause

For Phase 1 of Gen Liberty support when using EJBRMI the client and server must be packaged/deployed in the same .ear file or alternatively the Web Services coopflow can be used.
See commcfg.properties files comments:

# For EJBRMI the format is:
...
#        For Liberty, when client and server are assembled in the same EAR, the format is:
#           <TRANCODE>=EJBRMI Y {EARFileName}
#                             Y                     : Flag for connecting to Liberty
#                             EARFileName           : Name of the server ear File

...

#           <TRANCODE>=WS <baseURL> <contextType>
#                     baseURL: Scheme, Domain and Port of a Web Service end point URL
#                          ex: http://<hostname>:<port>
#                     contextType: part of the path of a Gen Web Service end point URL
#                          'P' to use ProcedureStep Name (with WebLogic)
#                          'W' to use ProcedureStep Name and LoadModule Name (with WildFly)
#                          'J' to use ProcedureStep Name and LoadModule Name (with JBoss EAP)
#                          'L' to use LoadModule Name (with Traditional WebSphere or with the Transaction Enabler (TE))
#                          'Y' to use LoadModule Name (with Liberty)

Resolution

  1. Using the original commcfg.properties file with client and server assembled in the same samptest.ear file the "List > Divisions" call was successful:



  2. Also after changing the commcfg.properties file to have this entry and using separate .ear files the "List > Divisions" call was successful:
    *=WS http://localhost:9080 Y

Additional Information