Have successfully migrated a Gen 8.6 COBOL server to a Gen Java EJB Web Service running under WebSphere Application Server.
However, when testing the Gen Windows GUI client it is still trying to connect to the COBOL server even though the commcfg.ini file has been changed to target the Web Service endpoint as follows:
* WS http://web_service_endpoint L
Gen 8.6 GUI client and EJB Web Service
It was found that there was another (old) commcfg.ini file in the PATH that was being incorrectly picked up.
After removing the unwanted commcfg.ini file the GUI client used the correct commcfg.ini file to successfully call the Gen EJB Web Service.
1. If nothing has changed in the client-server view matching since the migration from the CICS COBOL server to an EJB Web service then regeneration of the GUI C clients should not be required and in any case, the easiest option is to always use the commcfg.ini file to set/override any default generated communications type at runtime. (The default communications type used by a client is normally what was set in the corresponding Server Manager "Server Environment > Communications" property when the client Window Manager was last generated).
Per the comments in the commcfg.ini file this is how the file is located:
**********
########## MULTIPLE OVERRIDE SUPPORT #######
#
#
# By default there exists only one copy of this file. The installed location
# is the CA Gen installation directory. As there is only one file all client
# applications must use this same file.
# Alternatively, a Client Application will search for this file in the following
# order:
#
# 1) %COMMCFG_HOME% - The directory value contained within this environment
# variable
# 2) %USERPROFILE%\AppData\Local\CA\Gen 8.6\cfg\client
# 3) %ALLUSERSPROFILE%\CA\Gen 8.6\cfg\client
# 4) %PATH% - In each of the path components within this environment variable
#
...
**********
2. Normally the format for the Web Service endpoint url also ends with a port number i.e. from commcfg.ini file comments:
**********
# For Web Services the format is:
# <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 with WildFly
# 'J' to use with JBoss EAP
# 'L' to use LoadModule Name (everywhere else)
#
**********
In this case, a URL without a port number is being used.
* WS http://web_service_endpoint L
That is valid if the Web Service endpoint is being hosted under a web/application server with port 80, because if there is no port specified the Gen Web Services runtime uses port 80 by default. In this case, a WebSphere Edge load balancer running under port 80 was being used and the endpoint is defined in the plugin from where it is routed to the correct WebSphere Cluster.