Deploying a web service requester to CICS®
You can generate and deploy a logic part that runs on z/OS® CICS® and accesses a web service.
Prerequisites
- You must have an EGL project, an EGL deployment descriptor, and a Web Services Description Language (WSDL) file that provides interface details about the service to access.
- If the EGL-generated COBOL code requests a web service and uses
HTTP basic authentication (that is, uses the serviceLib.setHTTPBasicAuthentication() system
function), the CICS® system
administrator must define the transport handler ELAWSHBA to CICS® by adding the following statements
to the requester pipeline CONFIGFILE:
<transport> <default_http_transport_handler_list> <handler> <program> ELAWSHBA </program> </handler> </default_http_transport_handler_list> </transport>The transport handler ELAWSHBA is provided with your EGL COBOL runtime product.
To deploy a web service requester to CICS®:
- Add web service binding information. For more information, see Adding a SOAP service binding to a deployment descriptor.
- Create a Program part that uses the web service.
- In the build descriptor of the project, set the following build
descriptor options:
- deploymentDescriptor
- The name of the EGL deployment descriptor to which you added the binding information
- destDirectory
- The root HFS directory containing folders that receive the generated
web services binding file and WSDL file. An example destDirectory value
is
/u/myname/requesters. CICS® must have permission to read and write to this directory.The web services binding file is necessary to convert SOAP messages to COBOL at run time.
- destHost
- Specify the name or numeric TCP/IP address of the target system where the build server resides.
- destPassword
- Specifies the password that EGL uses to log on to the remote build server where your output will be prepared for deployment.
- destPort
- Specify the port on which a remote build server is listening for build requests.
- destUserID
- Specifies the user ID that EGL uses to log on to the remote build server where preparation occurs.
- genDirectory
- Specifies the fully qualified path of the directory into which EGL places generated output, control files, and results files.
- prep
- Set prep to YES.
- serverType
- Set serverType to CICS3.1.
- system
- Set system to ZOSCICS.
- Generate the program and the deployment descriptor.
- Define a web service PIPELINE:
- If you need to create a PIPELINE for requesters, type the following
command:
For name, use the name of the new PIPELINE; for group, use the name of the group.CEDA DEF PIPELINE(name) GROUP(group) - For CONFIGFILE, specify
/u/cicsts31/pipelines/basicsoap11requester.xml. If the code uses HTTP basic authentication, ensure that CONFIGFILE references the re-linked transport handler ELAWSHBA, as noted earlier in this topic. - For SHELF, specify
destDirectory/requester/shelf, where destDirectory is the value that you used for the destDirectory build descriptor option. - For WSDIR, specify
destDirectory/requester, where destDirectory is the value that you used for the destDirectory build descriptor option.
- If you need to create a PIPELINE for requesters, type the following
command:
- Create a PROGRAM for the requester by typing the following command:
For name, use the program name; for group, use the group name.CEDA DEFINE PROGRAM(name) GROUP(group) LANGUAGE(COBOL) - Create a TRANSACTION for the requester by typing the following
command:
Use the transaction name for name, the group name for group, and the program name for programName.CEDA DEFINE TRANSACTION(name) GROUP(group) PROGRAM(programName) TWASIZE(1024) - Install the group by typing the following command:
Use the name of the group for group.CEDA INSTALL GROUP(group) - Run the transaction.