This topic lists the protocol options that are available
when you code an EGL service binding or native service binding or
when you deploy a web service to CICS® or IBM® i. In the case of deployment,
you are specifying details for accessing a COBOL program from the
web service.
The following protocols are supported for an EGL service binding:
- Local
- For a requester accessing a service in the same run unit
- CICSECI
- For a Java™ requester accessing
a COBOL service through the CICS Transaction
Gateway (CTG) ECI interface
- CICSJ2C
- For a Java requester accessing
a COBOL service through a J2C connector for the CICS Transaction Gateway
- CICSSSL
- For a Java requester accessing
a COBOL service through the Secure Socket Layer (SSL) features of CICS Transaction Gateway (CTG)
- JAVA400
- For a Java requester accessing
a COBOL service that is on IBM i.
In this case, the connection details are managed by the Java requester.
- JAVA400J2C
- For a Java requester accessing
a COBOL service that is on IBM i.
This option is available only if the Java requester
is running under an application server that is fully compliant with Java EE, such as IBM WebSphere® Application
Server rather than Apache Tomcat. When JAVA400J2C is in use, the connection
details such as security credentials are managed by the application
server. EGL-generated applications must not share J2C connectors with
non-EGL-generated applications.
JAVA400J2C does not support a stateful
connection, but lets the user control the current library and library
list used on the host.
- TCPIP
- For a Java requester accessing
a Java service through the TCP/IP
protocol
The following protocols are supported for a native service binding:
- SYSTEM-I LOCAL
- For a COBOL requester accessing a COBOL service that is on the
same IBM i machine. In this
case, the service code is included in the EGL-generated code. You
cannot change the binding detail at run time.
- JAVA400
- For a Java requester accessing
a COBOL service that is on IBM i.
In this case, the connection details are managed by the Java requester.
- JAVA400J2C
- For a Java requester accessing
a COBOL service that is on IBM i.
This option is available only if the Java requester
is running under an application server that is fully compliant with Java EE, such as WebSphere Application Server rather than
Apache Tomcat. When JAVA400J2C is in use, the connection details such
as security credentials are managed by the application server. EGL-generated
applications must not share J2C connectors with non-EGL-generated
applications.
JAVA400J2C does not support a stateful invocation,
but lets the user control the current library and library list used
on the host.
Depending on the protocol, you specify attributes from the following
list:
- location
- The server and path on which the service is located, such as myServer.myCompany.com/myService
- password
- The password for the IBM i
system. Specify the user ID with the userID option.
- userID
- The user ID for the IBM i
system. If the connection type is JAVA400J2C, the security credentials
are usually handled by the application server. If
you specify user ID and password in the connection, the values that
you specify are used.
- bindDir
- For a SYSTEM-I.LOCAL connection, a fully qualified binding directory
such as LIBNAME/BIND_DIR_NAME, as used to access the service program
- conversionTable
- The name of the conversion table that converts data on a call
to the service. Conversion is necessary when the code page that is
used for encoding text on the service is different from the encoding
that is used by the requester. For more information about conversion
tables, see "Data conversion."
- currentLibrary
- For a JAVA400J2C connection, the name used to set the library
on the host job. For example, *USRPRF.or *CRTDFT.
- ctgKeyStore
- The name of the keystore generated with the CICS Transaction Gateway tool IKEYMAN
- ctgKeyStorePassword
- The password that is used when generating the keystore
- ctgLocation
- The URL for accessing the service through a CICS Transaction Gateway (CTG) server. Specify
the related port with the ctgPort option.
- ctgPort
- The port through which to access a service through a CICS Transaction Gateway (CTG) server
- libraries
- For a JAVA400J2C
connection, a list of libraries, such that each entry is a library
name followed by a position value that defaults to * LAST (ensuring
that the entry is placed after any entries that have the alternative
position value, which is *FIRST).
Here is an example value for
libraries:
MYMQLIB,MYFILLIB,MYDBLIB *FIRST
- library
- For a JAVA400 or SYSTEM-I.LOCAL connection, the name of the library
in which the service is located on the IBM i
system.
- location
- For
a TCPIP connection, the TCPIP host name or address. For a JAVA400
connection, the server and path on which the service is located, such
as myServer.myCompany.com/myService. For a JAVA400J2C,
the JNDI name specified in the application server. For a CICSECI or
CICSSSL connection, the CICS system
identifier. For a CICSJ2C connection, the JNDI name of the ConnectionFactory
object that you establish for the CICS transaction
started by the call.
- password
- The password for the IBM i
system. Specify the user ID with the userID option.
The user ID for the IBM i system.
If the connection type is JAVA400J2C, the security credentials are
usually handled by the application server. If you specify userID and
password in the connection, the values you specify are used in place
of any others.
- serverID
- For a TCPIP connection, the port number of the listener of the
service. For a CICSJ2C, CICSSSL, or CICSECI connection, the ID of
a CICS transaction being called.
The default is the CICS server
system mirror transaction (CPMI).
- transaction
- The name of the transaction you create as a copy of the CPIH transaction
with an increased Transaction Work Area size, as explained in “Special
considerations for generating EGL or SOAP services for z/OS® CICS.”
- userID
- The user ID for the system
- On IBM i, if the connection
type is JAVA400J2C, the security credentials are usually handled by
the application server. If you specify userID and password in the
connection, the values you specify are used in place of any others.
- On CICS, specify this value
if you want to run the transaction as a specific user.