Creating a Request-Response JSON web service from JSON Schemas

How to create a Request-Response JSON web service, starting from JSON Schemas.

Procedure

  1. Create JSON Schemas to describe the format of the request and response JSON data.
  2. Run the JSON web services assistant to create a WSBind file and high-level language structures.
  3. Write a CICS® program using the generated high-level language structures that implements the business logic for the JSON web service.
  4. Configure CICS Transaction Gateway with a HTTP or HTTPS protocol handler and a JSON web service using the generated WSBind file. For more information, see Configuring JSON web services.
  5. Start CICS Transaction Gateway and test that you can invoke the JSON web service.

The JSON assistant

Run the CICS TG JSON web services assistant by customizing the CTGJS2LS.txt sample parameter file, or creating your own parameter file using MAPPING-MODE=JS2LS with JSON-SCHEMA-REQUEST and JSON-SCHEMA-RESPONSE and running ctgassist <parameter file>. The assistant generates WSBind file and high-level language structures from the JSON Schemas provided. CTGJS2LS.txt contains the required parameters for creating a Request-Response JSON web service WSBind file from JSON Schemas. Consider these options when you are creating a new application for web services:

  • Which mechanism will CICS TG use to pass data to the CICS program? You can use a channel and pass the data in containers or use a COMMAREA. Specify them with the PGMINT parameter.
  • Which language do you want to generate? The assistant can generate COBOL, C/C++, or PL/I language data structures. Specify the language with the LANG parameter.
For more information, see Creating a Request-Response WSBind file from JSON Schemas.

Writing the CICS program

If the program interface is COMMAREA, the CICS program can be written in the same way as any other COMMAREA-based program. The data that is passed in the COMMAREA conforms to the language structure generated by the JSON web services assistant.

If the program interface is channel, the data is passed in a single BIT container, which is named DFHWS-DATA by default. To use a container with a different name when you run the JSON web services assistant, specify the CONTID parameter. The data in the container conforms to the language structure generated by the JSON web services assistant.

The data is aligned differently depending on the value of TARGET-CICS-PLATFORM, for more information, see Creating a Request-Response WSBind file from JSON Schemas.