WEB CLOSE
完成应用程序CICS®连接,作为 HTTP。
语法
条件:NOTOPEN
此命令是线程安全的。
NOHANDLE、RESP 和 RESP2是常用选项,可添加到所有 EXEC CICS 命令中以处理错误条件。 命令语法图和选项说明中没有明确包含这些选项。 有关这些常用选项和 EXEC CICS 命令语法的信息,请参阅 EXEC CICS 命令格式和编程注意事项.
描述
WEB CLOSE CICS 应用程序已经使用客户端 HTTP 连接与服务端完成连接。 会话令牌表示应用程序对连接的使用。 应用程序发出 WEB CLOSE 命令后,指定的会话令牌将不能继续使用。 必须有会话令牌才能接收来自服务器的响应以及读取该响应的 HTTP 头,因此在与服务器及其发出的响应的所有交互完成之前,不应发出 WEB CLOSE 命令。
- 如果发出 WEB CLOSE 命令时连接仍处于打开状态,并且使用指定了连接池的 URIMAP 资源将其打开,那么 CICS 不会关闭连接。 CICS 会检查连接的状态,并将其放入池中以供复用。
- 如果在发出 WEB CLOSE 命令时连接不适合连接池,因为服务器或应用程序先前已发出关闭连接的请求,或者未使用合适的 URIMAP 资源打开该连接,或者该连接未处于良好状态,那么 CICS 将关闭该连接,并且不会将其放入池中。
- 如果不发出 WEB CLOSE 命令, CICS 将在任务结束时关闭连接。 关闭的连接无法放入池中。 要启用连接池,您的应用程序必须发出 WEB CLOSE 命令。
发出 WEB CLOSE 命令时, CICS 不会请求服务器关闭连接。 如果您未使用连接池,并且 CICS 将在应用程序完成后关闭连接,那么最好通过在最终 WEB SEND 或 WEB CONVERSE 命令上指定 CLOSESTATUS (CLOSE) 选项来请求服务器关闭连接。 指定此选项时, CICS 会在请求上写入 Connection: close 头,或者对于处于 HTTP/1.0 级别的服务器,会省略 Connection: keep-Alive 头。 头中的信息表示服务器可以在发送最终响应后立即关闭其连接,而不是在超时之前等待任何进一步的请求。 如果您正在使用连接池,请不要指定 CLOSESTATUS(CLOSE) 选项,因为已关闭的连接无法放入池中。
连接可能会在发出 WEB CLOSE 命令之前应服务器的请求而关闭。 如果您需要测试服务器是否已请求关闭连接,请使用 WEB READ HTTPHEADER 命令在来自服务器的最后一条消息中查找 Connection: close 头。
- 使用 WEB SEND 或 WEB CONVERSE 命令在该连接上发送进一步的请求。
- 使用 WEB WRITE HTTPHEADER 命令编写 HTTP 头。
- 使用 WEB RECEIVE 命令接收响应。
- 使用 WEB READ HTTPHEADER 和 HTTP 头浏览命令检查 HTTP 头。
- 使用 WEB EXTRACT 命令抽取连接信息。
选项
- SESSTOKEN(数据值)
- 指定会话令牌,这是一个8字节的二进制值,用于唯一标识应用程序CICS 和服务器之间使用客户端 HTTP的情况。 HTTP CICS WEB OPEN命令会返回该值。 当您对会话令牌标识的连接发出“关闭 Web”命令时 CICS 会清除与应用程序使用连接相关的数据,并使会话令牌失效,无法再供应用程序使用。 会话令牌 说明如何使用会话令牌。
条件
- 19 NOTOPEN
- RESP2 值有:
- 27
- 无效的会话令牌。
- 144
- 一个或多个 Web 命令参数无效。
