lundi 24 mai 2021

z/OS client web enablement toolkit: Request (HWTHRQST) failing with HWTH-COMMUNICATION-ERROR (262)

I have been using the z/OS client web enablement toolkit in a COBOL program on the mainframe successfully to call an external REST API (non-HTTPS). However, I encountered one case where the requests to the same API fail with the error HWTH-COMMUNICATION-ERROR (return code 262).

This is what I see in the diagnostic area:

  • Request failed (HWTHRQST)
  • Return code: 262 (HWTH-COMMUNICATION-ERROR)
  • Service: 000524288
  • Reason Code: 140
  • Reason Desc: EDC5140I Broken pipe.

I'm unable to tell what is causing it to fail in only certain cases. Can anyone help me understand what the issue could be?

Here's a verbose log from the execution where it failed:

t: HWTH_OPT_VERBOSE has been set to HWTH_VERBOSE_ON
t-Entry: iconnImpl
t-Entry: initTranslationTables
t-Exit: initTranslationTables
t: Connecting to XX.XXX.XX.XXX via port 8080
t: Attempting to connect to IP address: XX.XXX.XX.XXX
t-Entry: setSocketOptions
t-Exit: setSocketOptions
t: Connection established using socket: 0
t-Entry: checkForTTLS
t: ATTLS detection OK: s=0 pol=OFF
t: Socket maps to TTLSRule: (none)
t: ATTLS is *not* in effect
t: Connected to origin server with socket: 0
t-Exit: iconnImpl
t: HWTH_OPT_VERBOSE has been set to HWTH_VERBOSE_ON
t-Entry: sendrqst
t-Entry: sendrqstImpl
t-Entry: appendRequestLine
t: No proxy is being used for the request
ÝHWTHCKST¨ (no request cookies specified)
ÝHWTHCKST¨ getCookieHeader() - No applicable cookies found
t: No applicable cookies found
t: * * * * * HTTP REQUEST HEADERS * * * * *
t-Entry: cleanseReqHdrs
t: GET /rest/validate/results.json
t: * * * * * END HTTP REQUEST HEADERS * * * * *
t-Entry: translate
t-Exit: translate
t-Entry: sendInlineRequest
t-Entry: doSend
t-Entry: ignoreSignal
t: Unable to query current action for signal: 13 error: EDC5157I. An internal error has occurred.
t: Unable to ignore signal(s)
t: Unresponsive socket (will attempt reconnect).
t-Entry: setReturnCode
t-Exit: setReturnCode
t: Unable to send HTTP message.
t-Entry: reconnect
t-Entry: idiscImpl
t: Closing socket: 0
t-Exit: idiscImpl
t-Entry: iconnImpl
t-Entry: initTranslationTables
t-Exit: initTranslationTables

Here's the verbose log from the execution where it was successful:

t: HWTH_OPT_VERBOSE has been set to HWTH_VERBOSE_ON
t-Entry: iconnImpl
t-Entry: initTranslationTables
t-Exit: initTranslationTables
t: Connecting to XX.XXX.XX.XXX via port 8080
t: Attempting to connect to IP address: XX.XXX.XX.XXX
t-Entry: setSocketOptions
t-Exit: setSocketOptions
t: Connection established using socket: 0
t-Entry: checkForTTLS
t: ATTLS detection OK: s=0 pol=OFF
t: Socket maps to TTLSRule: (none)
t: ATTLS is *not* in effect
t: Connected to origin server with socket: 0
t-Exit: iconnImpl
t: HWTH_OPT_VERBOSE has been set to HWTH_VERBOSE_ON
t-Entry: sendrqst
t-Entry: sendrqstImpl
t-Entry: appendRequestLine
t: No proxy is being used for the request
ÝHWTHCKST¨ (no request cookies specified)
ÝHWTHCKST¨ getCookieHeader() - No applicable cookies found
t: No applicable cookies found
t: * * * * * HTTP REQUEST HEADERS * * * * *
t-Entry: cleanseReqHdrs
t: GET /rest/validate/results.json
t: * * * * * END HTTP REQUEST HEADERS * * * * *
t-Entry: translate
t-Exit: translate
t-Entry: sendInlineRequest
t-Entry: doSend
t-Entry: ignoreSignal
t: now ignoring signal: SIGPIPE
t-Exit: ignoreSignal
t-Entry: restoreSignal
t: restoring signal: SIGPIPE
t-Exit: restoreSignal
t: send()
t:  bytes sent: 384
t:  total bytes: 384
t:  bytes remaining: 384
t: send successful.
t-Exit: doSend
t-Exit: sendrqstImpl
t-Entry: recvresp
t-Entry: recvrespImpl
t-Entry: initReceiveVars
t: Response buffer is empty.
t-Entry: getNextResponseData
t: Now processing 1547 additional response bytes.
t-Entry: processResponseData
t-Entry: translate
t-Exit: translate
t-Entry: parseResponseHeaders
t: HTTP status = 200
t: HTTP version = HTTP/1.1
t: HTTP reason = OK
t: Header: Date =
t-Entry: headerCallback
t-Exit: headerCallback
t: Header: Content-Type = application/json
t-Entry: headerCallback
t-Exit: headerCallback



Aucun commentaire:

Enregistrer un commentaire