用于业务逻辑接口的参数,DFHWBBLI

注意: 本主题包含产品敏感的编程接口和关联的指导信息。

下面列出了用于业务逻辑接口的、前缀为 wbbl_ 的输入和输出参数的名称与描述。

参数摘要

注意: 本主题包含产品敏感的编程接口和关联的指导信息。
在作为 CICS® Web Support 的一部分提供的文件中定义了参数和常量的名称,这些参数和常量已转换为受支持的不同编程语言的相应格式。 这些文件给出了有关 COMMAREA 中字段数据类型的特定于语言的信息。
各种语言的文件如下所示:
语言 文件
汇编语言 DFHWBBLD
DFHWBBLH
COBOL DFHWBBLO
PL/I DFHWBBLL
表 1. 业务逻辑接口参数
输入 输出
wbbl_client_address
wbbl_client_ipv6_address
wbbl_client_address_length
wbbl_client_ipv6_address_length
wbbl_client_address_string
wbbl_client_ipv6_address_string
wbbl_converter_program_name
wbbl_eyecatcher
wbbl_header_length
wbbl_header_offset
wbbl_http_version_length
wbbl_http_version_offset
wbbl_indata_length
wbbl_indata_offset
wbbl_indata_ptr
wbbl_length
wbbl_method_length
wbbl_method_offset
wbbl_mode
wbbl_prolog_size
wbbl_resource_length
wbbl_resource_offset
wbbl_server_address
wbbl_server_ipv6_address
wbbl_server_program_name
wbbl_ssl_keysize
wbbl_status_size
wbbl_user_token
wbbl_user_data_length
wbbl_vector_size
wbbl_version
wbbl_outdata_length
wbbl_outdata_offset
wbbl_outdata_ptr

通过兼容性接口 (调用 DHWBBLI) 支持为使用较低版本的 CICS 业务逻辑接口 (DFHWBA1) 而编写的程序。

参数

在将输入插入 COMMAREA 中前,必须将它清为二进制零。

wbbl_eyecatcher
(仅输入)

必须设置为字符串 > DFHWBBLIPARMS的 14 个字符的字段。

wbbl_client_address
(仅输入)

如果未指定 wbbl_client_ipv6_address,必须设置为客户机的二进制 IPv4 地址的全字 32 位字段。 wbbl_client_address 不支持 IPv6 地址。

如果 wbbl_client_address 中的值为非零,那么会使用该值,并会忽略 wbbl_client_ipv6_address 中的任何值。 因此,如果您正在使用 IPv6 寻址,那么必须清除 wbbl_client_address 中的内容,以便使用 wbbl_client_ipv6_address 中的值。

wbbl_client_ipv6_address
(仅输入)

正在使用 IPv6 寻址时,或正在使用 IPv4 寻址且未指定 wbbl_client_address 时,必须设置的 16 字节字段。 该字段支持 IPv4 和 IPv6 地址,并可设置为客户机的二进制 IPv6 地址或者客户机的 IPv6 格式的 IPv4 地址。 有关 IP 地址格式的更多信息,请参阅 IP 地址

wbbl_client_address_length
(仅输入)

必须设置为 wbbl_client_address_string 的长度的 1 字节二进制字段。

wbbl_client_ipv6_address_length
(仅输入)

必须设置为 wbbl_client_ipv6_address_string 的长度的 1 字节二进制字段。

wbbl_client_address_string
(仅输入)

一个最多由 15 个字符组成的字符串,该字符串是 wbbl_client_address 的点分十进制表示,并在右端填充二进制零。 将 wbbl_client_ipv6_address_string(而不是 wbbl_client_address_string)用于所有的新程序。

wbbl_client_ipv6_address_string
(仅输入)

一个最多由 39 个字符组成的字符串,该字符串是 wbbl_client_ipv6_address 的冒号十六进制或点分十进制表示,并在右端填充二进制零。

wbbl_converter_program_name
(仅输入)

要用于转换器 DECODE 和 ENCODE 函数的程序的 8 字符名称。

wbbl_header_length
(仅输入)

必须包含与该请求相关联的 HTTP 头长度的全字二进制数。

wbbl_header_offset
(仅输入)

必须包含与该请求相关联的 HTTP 头的偏移量(从请求数据的开始处起算)的全字二进制数。

wbbl_http_version_length
(仅输入)

必须包含用于处理请求的 HTTP 协议的版本长度的全字二进制数。

wbbl_http_version_offset
(仅输入)

必须包含用于处理请求的 HTTP 协议的版本的偏移量的全字二进制数。

wbbl_indata_length
(仅输入)

必须设置为 wbbl_indata_ptrwbbl_indata_offset找到的数据长度的全字二进制数。 如果分析器修改了数据长度值,那么修改部分会在此处反映出来。 如果请求不是 HTTP 请求,请不要设置该字段。

wbbl_indata_offset
(仅输入)

如果 wbbl_mode 是“O”或“D”,那么这是传递给应用程序的 HTTP 请求数据的偏移量 (从参数列表的开始处起算)。

wbbl_indata_ptr
(仅输入)

如果 wbbl_mode 是“P”,那么该字段就是传递给应用程序的 HTTP 请求数据的地址。

wbbl_length
(仅输入)

必须设置成为 BLI 参数列表的总长度的半字二进制数。

wbbl_method_length
(仅输入)

必须包含用于处理请求的 HTTP 方法的长度的全字二进制数。 方法为下列其中一项 :GET , PATCH , POST , HEAD , PUT , DELETE , LINK , UNLINK 或 REQUEUE。

wbbl_method_offset
(仅输入)

必须包含用于处理请求的 HTTP 方法的偏移量(从请求数据的开始处起算)的全字二进制数。 方法为下列其中一项 :GET , PATCH , POST , HEAD , PUT , DELETE , LINK , UNLINK 或 REQUEUE。

wbbl_mode
(仅输入)

表明 wbbl_indatawbbl_outdata 寻址方式的单个字符。 必须将其设置为“P”以表明这些值都是指针,或设置为“O”以表明这些值是从参数列表的开始处起算的偏移量。

wbbl_outdata_length
(仅输入)

全字二进制字段, DFHWBBLI 在该字段中返回由 wbbl_outdata_ptrwbbl_outdata_offset找到的响应数据的长度。

wbbl_outdata_offset
(仅输入)

如果 wbbl_mode 是“O”或“D”,那么这是全字,DFHWBBLI 在其中返回来自应用程序的响应数据的偏移量(从参数列表的开始处起算)。 该地址不一定要和 wbbl_indata_offset 相同。

wbbl_outdata_ptr
(仅输入)

如果 wbbl_mode 是“P”,那么该字段是全字地址,DFHWBBLI 在其中返回来自应用程序的响应数据的地址。 该地址不一定要和 wbbl_indata_ptr 相同。

wbbl_prolog_size
(仅输入)

必须设置为 56 的半字二进制数;即,wbbl_prolog 子结构的长度。

wbbl_resource_length
(仅输入)

一个全字二进制数,它必须包含被请求的 URI 资源的长度;即,URL 中第一个“/”字符开始的 URL 非网络部分。

wbbl_resource_offset
(仅输入)

一个全字二进制数,它必须包含正请求的 URI 资源的偏移量(从请求数据的开始处起算);即,URL 中第一个“/”字符开始的 URL 非网络部分。

wbbl_response
(仅输入)

DFHWBBLI 在其中返回响应代码的全字二进制字段。

wbbl_server_address
(仅输入)

如果未指定 wbbl_server_ipv6_address,必须设置为服务器的二进制 IPv4 地址的全字 32 位字段。 wbbl_server_address 不支持 IPv6 地址。

如果 wbbl_server_address 中的值为非零,那么会使用该值,并会忽略 wbbl_server_ipv6_address 中的任何值。 因此,如果您正在使用 IPv6 寻址,那么必须清除 wbbl_server_address 中的内容,以便使用 wbbl_server_ipv6_address 中的值。

wbbl_server_ipv6_address
(仅输入)

正在使用 IPv6 寻址时,或正在使用 IPv4 寻址且未指定 wbbl_server_address 时,必须设置的 16 字节字段。 该字段支持 IPv4 和 IPv6 地址,并可设置为服务器的二进制 IPv6 地址或者服务器的 IPv6 格式的 IPv4 地址。 有关 IP 地址格式的更多信息,请参阅 IP 地址

wbbl_server_program_name
(仅输入)

要用于处理请求并生成响应的 CICS 应用程序的 8 字符名称。

wbbl_ssl_keysize
(仅输入)

加密密钥的大小,如果使用安全套接字层,那么该大小在 SSL 握手期间协商确定。 如果不使用 SSL,那么其值为零。

wbbl_status_size
(仅输入)

必须设置为 wbbl_status 子结构的长度的 1 字节二进制字段。

wbbl_user_data_length
(仅输入)

必须设置为实体主体长度的全字二进制数。 如果分析器修改了长度值,那么修改部分会在此处反映出来。 如果请求不是 HTTP 请求,请不要设置该字段。

wbbl_user_token
(仅输入)

一个 8 字符字段,DFHWBBLI 的调用者使用该字段可以传输标识客户机当前对话状态的数据。 通常将它设置为 URL 的 query-string 部分的前 8 个字符;即,问号(?)以后的所有数据。

wbbl_vector_size
(仅输入)

必须设置为 64(即,wbbl_vector 子结构的长度)的半字二进制数。

wbbl_version
(仅输入)

表明当前使用的 BLI 参数列表的版本的半字二进制数。 使用常量值 wbbl_current_version 来设置该值。

业务逻辑接口响应

注意: 本主题包含产品敏感的编程接口和关联的指导信息。
wbbl_response 中返回下列值之一。 这些值对应于要发送到 HTTP 客户机的预期 HTTP 响应
400
某个转换器函数返回了带有 URP_CORRUPT_CLIENT_DATA 原因码的 URP_EXCEPTION 响应。 业务逻辑接口写异常跟踪项 (跟踪点 4556),并发出消息(DFHWB0120)。
403
wbbl_server_program_name 中指定的程序的 LINK 命令接收到 NOTAUTH 响应。 业务逻辑接口写异常跟踪项 (跟踪点 4556),并发出消息(DFHWB0120)。
404
针对 wbbl_server_program_name 中指定的程序的 LINK 命令接收到 PGMIDERR 响应。 业务逻辑接口写异常跟踪项 (跟踪点 4556),并发出消息(DFHWB0120)。
500
发生以下某种情况:
  • 业务逻辑接口检测到异常终止。 根据异常终止的程序发出相应的消息。 对于在 wbbl_server_program_name 中指定的程序,消息为 DFHWB0125。 对于转换器的 Encode 函数,消息为 DFHWB0126。 对于转换器的 Encode 函数,消息为 DFHWB0127。 对于任何其他程序,消息为 DFHWB0128。 任何情况下,都会写入异常跟踪项(跟踪点 4557)。
  • wbbl_server_program_name 中指定的程序的 LINK 命令接收到 INVREQ 或 LENGERR 或意外响应。 业务逻辑接口写异常跟踪项 (跟踪点 4556),并发出消息(DFHWB0120)。
501
发生以下某种情况:
  • Decode 返回了 URP_EXCEPTION 响应,并带有未定义的原因码。 业务逻辑接口写异常跟踪项 (跟踪点 455B),并发出消息(DFHWB0121)。
  • Decode 返回了 URP_INVALID 响应。 业务逻辑接口写异常跟踪项 (跟踪点 455C),并发出消息(DFHWB0121)。
  • Decode 返回了 URP_DISASTER 响应。 业务逻辑接口写异常跟踪项 (跟踪点 455D),并发出消息(DFHWB0121)。
  • Decode 返回了未定义响应。 业务逻辑接口写异常跟踪项 (跟踪点 455E),并发出消息(DFHWB0121)。
  • Encode 返回了 URP_EXCEPTION 响应,并带有未定义的原因码 业务逻辑接口写异常跟踪项 (跟踪点 455B),并发出消息(DFHWB0122)。
  • Encode 返回了 URP_INVALID 响应。 业务逻辑接口写异常跟踪项 (跟踪点 455C),并发出消息(DFHWB0122)。
  • Encode 返回了 URP_DISASTER 响应。 业务逻辑接口写异常跟踪项 (跟踪点 455D),并发出消息(DFHWB0122)。
  • Encode 返回了未定义响应。 业务逻辑接口写异常跟踪项 (跟踪点 455E),并发出消息(DFHWB0122)。
503
发生以下某种情况:
  • 针对 wbbl_server_program_name 中指定的程序的 LINK 命令接收到 TERMERR 响应。 业务逻辑接口写异常跟踪项 (跟踪点 4555),并发出消息(DFHWB0120)。
  • 针对 wbbl_server_program_name 中指定的程序的 LINK 命令接收到 SYSIDERR 或 ROLLEDBACK 响应。 业务逻辑接口写异常跟踪项 (跟踪点 4556),并发出消息(DFHWB0120)。