Application programming for non-HTTP requests

Application programs for non-HTTP requests can use certain elements of the EXEC CICS WEB programming interface. They can also be non-web-aware applications and produce output that is encoded by a converter program.

A pseudoconversational programming model is not suitable for non-HTTP requests. Design your applications to receive a single request and provide a single response.

Web-aware applications

To use a web-aware application to respond to non-HTTP requests, you can use the following CICS® API commands:
  • The WEB RECEIVE command can receive a non-HTTP request. If the application is to respond to both HTTP and non-HTTP requests, the TYPE option on the WEB RECEIVE command can distinguish between the two request types. CICS does not carry out any parsing for a non-HTTP message. Requests that are divided up for transmission across the network are not automatically assembled. If an analyzer program assembles the request, the results are not visible to the CICS WEB API commands.
  • The EXEC CICS DOCUMENT commands can compose a CICS document to form the body of a response.
  • The WEB SEND command sends a response to a non-HTTP client. However, these options that relate to HTTP-specific actions are not suitable:
    • STATUSCODE and STATUSTEXT are ignored.
    • CLOSESTATUS is ignored.
    • CHUNKING causes an error on the command.
  • The WEB RETRIEVE command retrieves a CICS document sent in an earlier EXEC CICS WEB SEND command.
Other EXEC CICS WEB commands relate to HTTP requests only, and can result in an INVREQ condition if used with non-HTTP requests.

An application program can specify code page conversion of non-HTTP requests using the WEB RECEIVE command.

Non-web-aware applications with converter programs

With non-web-aware applications, you can use a converter program to convert the input from the web client into a suitable COMMAREA for the application and to convert the output from the application into HTML to provide the response. If an analyzer program has reconstructed the request after it was divided up for transmission across the network, the results can be passed to a converter program.

The following input fields that relate to HTTP requests are undefined in a converter program for non-HTTP requests:
  • The HTTP version
  • The method
  • The path component of the URL
  • The request headers
For more information, see Converter programs.