Question & Answer
Question
I use CICS web support TCPIPSERVICE definitions to allow external applications to make SOAP web service calls to mainframe applications. Our CICS Web Support periodically encounter failures in the web analyzer program.
The web analyzer program is detecting that the input request's URI data does not pass the check against the minimum length constant (WBADX_MIN_RESOURCE_LENGTH) . This causes URP_RESPONSE to be set to 4 and URP_REASON to 1 and then the web analyzer returns without processing the request.
Looking at a dump of the situation, I find the tasks in a SO_RECV with either no data or only one byte in REQ_BUFF.
Answer
The client sending in only the first byte of the HTTP request is a more common practice now.
When CICS receives this request, the CWXN task is unable to determine if this is a valid HTTP request or a non-HTTP request. If there was enough of an HTTP request sent in to identify a valid method (for example, POST) then CWXN would iterate its receive loop and get the rest of the data. When only a single byte is received it is up to the analyzer program to decide if the request is complete or if more data is required.
In this instance, the analyzer needs to return URP_EXCEPTION and a reason of URP_RECEIVE_OUTSTANDING. This will cause CWXN to issue another receive and get the rest of the request.
Product Synonym
CICS/TS CICSTS CICS TS CICS Transaction Server
Was this topic helpful?
Document Information
Modified date:
21 August 2017
UID
dwa1352498