DFHJS2LS:针对 RESTful 服务的 JSON 模式到高级语言转换

DFHJS2LS 过程从 JSON 模式中生成高级语言数据结构和 Web Service 绑定文件。 在准备创建 RESTful JSON 服务提供程序时,可以使用 DFHJS2LS。 本主题列出 DFHJS2LS的作业控制语句,符号参数,输入参数及其描述。

DFHJS2LS JCL 过程安装在数据集 HLQ .XDFHINST 中,其中 HLQ 是安装 CICS 的高级限定符。

DFHJS2LS 的作业控制语句

JOB
启动作业。
EXEC
指定过程名称 (DFHJS2LS)。
INPUT.SYSUT1 DD
指定输入。 输入参数通常在输入流中指定。 但是,可以在数据集中或分区数据集的成员中定义这些值。

符号参数

以下符号参数在 DFHJS2LS:

JAVADIR = 路径
指定 DFHJS2LS使用的 Java™ 目录的名称。 此参数的值将追加到 /usr/lpp/ 以生成完整路径名 /usr/lpp/ path
通常,您不指定此参数。 缺省值是在 JAVADIR 参数中提供给 CICS 安装作业 (DFHISTAR) 的值。
PATHPREF = 前缀
指定扩展 z/OS UNIX 目录路径的前缀,该路径用于其他参数;如果不使用前缀,则指定 '' (空字符串)。
通常,您不指定此参数。 缺省值是在 PATHPREF 参数中提供给 CICS 安装作业 (DFHISTAR) 的值。
SERVICE =
仅当 IBM 支持人员指示时才使用此参数。
TMPDIR = tmpdir
指定 z/OS UNIX 中用作临时工作区的目录位置, DFHJS2LS。 作业运行所使用的用户标识必须具有对此目录的读和写许可权。
缺省值为 /tmp
TMPFILE = tmpprefix
指定 DFHJS2LS 用于构造临时工作空间文件的名称的前缀。
缺省值为 JS2LS
USSDIR = 路径
指定 UNIX 系统服务文件系统中 CICS TS 目录的名称。 此参数的值将追加到 /usr/lpp/cicsts/ 以生成完整路径名 /usr/lpp/cicsts/ path 。 如果使用缺省值,那么必须将此值指定为 '.' (句点)。
通常,您不指定此参数。 缺省值是在 USSDIR 参数中提供给 CICS 安装作业 (DFHISTAR) 的值。

临时工作空间

DFHJS2LS 在运行时创建以下三个临时文件:
  • tmpdir / tmpprefix .in
  • tmpdir / tmpprefix .out
  • tmpdir / tmpprefix .err
其中:
  • tmpdir TMPDIR 参数中指定的值。
  • tmpprefix TMPFILE 参数中指定的值。
当未指定 TMPDIRTMPFILE 时,文件的缺省名称如下所示:
  • /tmp/JS2LS.in
  • /tmp/JS2LS.out
  • /tmp/JS2LS.err
重要: DFHJS2LS 不会锁定 z/OS UNIX 文件或数据集成员的访问权限。 因此,如果同时运行两个或多个 DFHJS2LS 实例,并使用相同的临时工作空间文件,那么当另一个作业正在使用这些文件时,没有任何内容可以阻止一个作业覆盖这些工作空间文件,从而导致不可预测的失败。

因此,建议您设计避免这种情况的命名约定和操作过程。 例如,可以使用系统符号参数 SYSUID 来生成对单个用户唯一的工作空间文件名。 在作业结束之前,将删除这些临时文件。

DFHJS2LS 的输入参数

读取语法图跳过可视语法图PDSLIB= 值PDSCP= 值LANG=COBOLLANG=PLI-ENTERPRISELANG=PLI-OTHERLANG=CLANG=CPPSTRUCTURE= 数据STRUCTURE= PDSMEM_值PDSMEM= 值PGMNAME= 值URI= 值PGMINTTRANSACTION= 名称USERID= 标识DATA-SCREENING=ENABLEDDATA-SCREENING=DISABLEDDEFAULT-ARRAY-MAXITEMS= 值MAPPING-LEVEL=1.0MAPPING-LEVEL=1.1MAPPING-LEVEL=1.2映射级别 1.2 和更高级别MAPPING-LEVEL=2.0MAPPING-LEVEL=2.1映射级别 2.1 和更高级别MAPPING-LEVEL=2.2MAPPING-LEVEL=3.0映射级别 3.0 和更高级别MAPPING-LEVEL=4.0MAPPING-LEVEL=4.1MAPPING-LEVEL=4.2映射级别 4.2 及更高版本MAPPING-LEVEL=4.3MAPPING-OVERRIDES=SAME-AS-MAPPING-LEVELHYPHENS-AS-UNDERSCORESINTEGER-AS-PIC9LESS-DUP-NAMESUNDERSCORES-AS-HYPHENSNO-ARRAY-NAME-INDEXINGMINIMUM-RUNTIME-LEVEL=MINIMUMMINIMUM-RUNTIME-LEVEL=1.0MINIMUM-RUNTIME-LEVEL=1.1MINIMUM-RUNTIME-LEVEL=1.2MINIMUM-RUNTIME-LEVEL=2.0MINIMUM-RUNTIME-LEVEL=2.1运行时级别 2.1 及更高版本MINIMUM-RUNTIME-LEVEL=2.2运行时级别 2.2 及更高版本MINIMUM-RUNTIME-LEVEL=3.0运行时级别 3.0 及更高版本MINIMUM-RUNTIME-LEVEL=4.0运行时级别 4.0 及更高版本MINIMUM-RUNTIME-LEVEL=4.1运行时级别 4.1 及更高版本MINIMUM-RUNTIME-LEVEL=4.2运行时级别 4.2 及更高版本MINIMUM-RUNTIME-LEVEL=4.3运行时级别 4.3 及更高版本MINIMUM-RUNTIME-LEVEL=CURRENTHTTP-METHODS=GETHTTP-METHODS=POSTHTTP-METHODS=PUTHTTP-METHODS=DELETEHTTP-METHODS=HEADJSON-SCHEMA-RESTFUL= 值CCSID= 值NAME-TRUNCATION= 值LOGFILE= 值SYNCONRETURN=NOSYNCONRETURN=YESWSBIND= 值WIDE-COMP3=NOWIDE-COMP3= fullWIDE-COMP3= YESCHAR-WHITESPACE=PRESERVECHAR-WHITESPACE=REPLACECHAR-WHITESPACE=COLLAPSE
PGMINT
读取语法图跳过可视语法图PGMINT=CHANNELCONTID= 值PGMINT=COMMAREA
映射级别 1.2 和更高级别
读取语法图跳过可视语法图CHAR-VARYING=NOCHAR-VARYING=NULLCHAR-VARYING=YESCHAR-VARYING-LIMIT=32767CHAR-VARYING-LIMIT= 值CHAR-MULTIPLIER=1CHAR-MULTIPLIER= 值DEFAULT-CHAR-MAXLENGTH=255DEFAULT-CHAR-MAXLENGTH= 值DEFAULT-FRACTION-DIGITS=3DEFAULT-FRACTION-DIGITS= 值
映射级别 2.1 和更高级别
读取语法图跳过可视语法图INLINE-MAXOCCURS-LIMIT=1INLINE-MAXOCCURS-LIMIT= 值
映射级别 3.0 和更高级别
读取语法图跳过可视语法图DATETIME=PACKED15DATETIME=STRING
映射级别 4.2 和更高版本
读取语法图跳过可视语法图ADDITIONAL-PROPERTIES-DEFAULT=FALSEADDITIONAL-PROPERTIES-DEFAULT=TRUEADDITIONAL-PROPERTIES-MAX=UNBOUNDEDADDITIONAL-PROPERTIES-MAX= 值ADDITIONAL-PROPERTIES-SIZE=255ADDITIONAL-PROPERTIES-SIZE= 值

参数使用

  • 您可以按任何顺序指定输入参数。
  • 每个参数必须在新行开始。
  • 参数及其连续字符(如果使用的话)的长度不能超出第 72 列;第 73 至 80 列必须包含空格。
  • 如果参数太长,无法适合单行,请在行尾使用星号 (*) 字符来指示该参数在下一行继续。 所有内容 (包括星号之前的空格) 都被视为参数的一部分。 例如:
    WSBIND=wsbinddir*
    						/app1
    等同于
    WSBIND=wsbinddir/app1
  • 行的第一个字符位置中的 # 字符是注释字符。 将忽略该行。
  • 行的最后一个字符位置中的逗号是可选的行分隔符,将被忽略。

参数描述

ADDITIONAL-PROPERTIES-DEFAULT = { true | false }
指示是否将未显式声明支持 其他属性 的 JSON 模式对象解释为支持这些对象。 其他 JSON 属性是 JSON 对象中未在 JSON 模式中预定义的任何属性。 这些属性通常作为意外的额外数据被数据转换机制拒绝。 如果 ADDITIONAL-PROPERTIES-DEFAULT 设置为 TRUE,或者如果 JSON 模式显式地为对象设置 additionalProperties:true ,那么将在生成的副本中分配空间以保存此类值。 应用程序可以使用副本中的关联字段与这些值进行交互。

可以在 4.2 或更高的映射级别使用此参数。

ADDITIONAL-PROPERTIES-MAX = { 0-20 | 无界 }
指示支持这些属性的 JSON 对象支持的 其他属性 数。 请参阅 ADDITIONAL-PROPERTIES-DEFAULT。 生成的副本将包含适用于寻址任何其他属性的结构。 缺省情况下,不会对受支持的属性数施加最大约束。 副本以与没有约束的数组相似的方式生成,并使用容器。 此参数可用于应用可与 INLINE-MAXOCCURS-LIMIT 参数组合使用的最大约束,以导致为最大属性数分配固定长度数组,从而避免需要容器。

可以在 4.2 或更高的映射级别使用此参数。

ADDITIONAL-PROPERTIES-SIZE = { 16-32767 | 255 }
指示每个 JSON 附加属性的最大大小。 如果 JSON 对象支持 ADDITIONAL-PROPERTIES-DEFAULT定义的其他属性,那么生成的副本将具有绑定以支持最多由 ADDITIONAL-PROPERTIES-MAX指定的数目的属性。 缺省情况下,每个附加属性支持的最大值为 255 个字符。 将在生成的副本中生成该大小的字段。 可以通过设置 ADDITIONAL-PROPERTIES-SIZE 参数来定制此大小。 例如,将处理发现包含以下属性的 JSON 对象:

"例子": { "notes": "this extra property was not defined in the JSON Schema" }

如果已生成副本以支持其他属性,那么该完整值将传递到应用程序以进行处理。 该值以属性键前的前导引号开头,并以属性值中的尾部右花括号结尾。 在此示例中,大约有 100 个字符。 用于 ADDITIONAL-PROPERTIES-SIZE 的值必须足够大,以容纳可能出现的最大此类值。 如果分配的缓冲区对于处理的值太小,那么将生成错误响应。

可以在 4.2 或更高的映射级别使用此参数。

CCSID =
指定在运行时用于对应用程序数据结构中的字符数据进行编码的 CCSID。 此参数的值将覆盖 LOCALCCSID 系统初始化参数的值。 该值必须是 Java 和 z/OS Unicode Services 用户指南和参考支持的 EBCDIC CCSID。 如果未指定此参数,那么将使用系统初始化参数中指定的 CCSID 对应用程序数据结构进行编码。
CHAR-MULTIPLIER = { 1 | }
指定当映射级别为 1.2 或更高时允许每个字符使用的字节数。 该参数的可以是范围 1 - 2147483647 中的一个正整数。 所有基于非数字字符的映射均受到该倍数的限制。 二进制字段、数字字段、区位及压缩十进制字段不受该倍数的限制。

该参数可能很有用,例如,如果您打算使用 DBCS 字符,其中您可能选择使用乘数 3,以在运行时允许每个双字节字符周围的潜在移入和移出字符中包含空格。

当您设置 CCSID=1200(指示 UTF-16)时,CHAR-MULTIPLIER 的有效值仅有 24。 使用 UTF-16时,缺省值为 2 。 当您期望应用程序数据包含需要 1 UTF-16 编码单元的字符时,请使用 CHAR-MULTIPLIER=2 。 如果希望应用程序数据包含需要 2 UTF-16 编码单元的字符,请使用 CHAR-MULTIPLIER=4
注:CHAR-MULTIPLIER 设置为 1 并不排除使用 DBCS 字符,将其设置为 2 也不排除使用 UTF-16 代理对。 但是,如果经常使用宽字符,那么某些有效值将无法符合已分配字段。 如果使用更大的 CHAR-MULTIPLIER 值,那么已分配字段中可能存储比 XML 中有效字符数更多的字符。 请务必注意符合相应的范围限制。
CHAR-VARYING = NO | NULL | YES
指定当映射级别为 1.2 或更高时如何映射可变长度字符数据。 可变长度二进制数据类型始终与容器或可变结构建立映射。 如果不指定此参数,那么缺省映射取决于指定的语言。 您可以选择以下选项:
可变长度字符数据映射为定长字符串。
NULL
可变长度字符数据映射为以 null 结束的字符串。
YES
可变长度字符数据在 PL/I 中被映射为 CHAR VARYING 数据类型。 在 COBOL、C和C++语言中,可变长度的字符数据会被映射到一个等效的表示形式,该形式包含两个相关元素:数据长度和数据本身。
CHAR-VARYING-LIMIT = 32767 |
指定当映射级别为 1.2 或更高时映射到语言结构的二进制数据和可变长度字符数据的最大大小。 如果字符或二进制数据大于在该参数中指定的值,那么它将与容器建立映射,且该容器的名称将被用在生成的语言结构中。 该值的范围为 0 到 32767 字节(缺省值)。
CHAR-WHITESPACE = 折叠 | REPLACE | PRESERVE

指定 CICS将如何处理类型为字符串的值中的空格。

COLLAPSE
将移除前导、尾部和嵌入的空格,并且所有制表符、换行符和连续空格都将替换为单个空格字符。
替换
任何制表符或换行符都将替换为相应数量的空格。
保留
在数据值中保留任何空格。
如果未设置 CHAR-WHITESPACE 参数,那么将折叠空格。
注: 此参数不适用于格式为 date-timeuribase64BinaryhexBinary (其中始终折叠空格) 的字段。
CONTID =
在服务提供者中指定容器的名称,该容器包含用于表示 JSON 消息的顶级数据结构。

CICS 传递到目标应用程序的容器的长度大于请求容器和响应容器的长度。

DATA-SCREENING = { enabled | DISABLED }
指定是否筛选应用程序提供的数据以查找错误。
ENABLED
将应用程序提供的与语言结构不一致的任何运行时数据视为错误,并发出消息 DFHPI1010 。 系统会向应用程序返回错误响应。
DISABLED
应用程序提供的运行时数据中与语言结构不一致的值将被缺省值替换。 例如,零替换数字字段中的错误值。 未发出消息 DFHPI1010 ,并且将向应用程序返回正常响应。 此功能可用于避免从未初始化的输出字段中生成的 INVALID_PACKED_DEC 和 INVALID_ZONED_DEC 错误响应。
DATA-TRUNCATION = { disabled | ENABLED }
指定在固定长度字段结构中是否容许可变长度数据:
DISABLED
如果数据小于 CICS 期望的固定长度,那么 CICS 将拒绝截断的数据并发出错误消息。
ENABLED
如果数据小于 CICS 期望的固定长度,那么 CICS 会容许截断的数据,并将缺失的数据作为空值处理。
DATETIME = PACKED15 | STRING
指定 JSON date-time 元素如何映射到语言结构。
PACKED15
缺省值是将任何 JSON date-time 元素作为时间戳记进行处理,并映射到 CICS ABSTIME 格式。
字符串
JSON date-time 元素将作为文本进行处理。
DEFAULT-ARRAY-MAXITEMS =
指定要应用的最大数组边界,其中 JSON 模式中不包含最大出现次数信息 (maxItems)。 如果未设置此参数,那么不会应用最大限制。 此参数的值可以是 1-2147483647 范围内的正整数。 此参数可与 INLINE-MAXOCCURS-LIMIT 参数结合使用,以影响将 JSON 数组映射到语言结构中的方式。
DEFAULT-CHAR-MAXLENGTH = 255 |
当映射级别为 1.2 或更高时,指定映射的字符数据的缺省数组长度,其中不包含 Web Service 描述文档中的长度。 该参数的值可以是范围 1 - 2147483647 中的一个正整数。
DEFAULT-FRACTION-DIGITS = { 3 | }
指定要在 JSON 十进制模式类型上使用的缺省小数位数。 缺省值为 3。 COBOL ,有效范围为 0-17,如果使用参数 WIDE-COMP3 ,则有效范围为 0-30。 对于 C 或 PLI ,有效范围为 0-30。
HTTP-METHODS = { GET | POST | PUT | DELETE | HEAD } , { GET | POST | PUT | DELETE | HEAD } , *
这是一个可选参数。
缺省值是要设置的 GET , POST , PUT 和 DELETE ,这将告知 DFHJS2LS 应用程序支持四个主要 RESTful 操作。

如果提供了值, DFHJS2LS 会创建一个WSBind文件,其中仅接受明确指定的 HTTP 方法。

如果应用程序希望实现 HEAD 方法,那么它必须慎重选择执行此操作。 默认情况下 DFHJS2LS 假定应用程序不支持传入HTTP HEAD方法。

如果JSON客户端尝试使用不支持HTTP 方法, CICS 将响应 HTTP。

INLINE-MAXOCCURS-LIMIT = 1 |
指定是否基于 maxItems JSON 模式关键字来使用内联可变重复内容。 内联映射的可变重复内容与所生成语言结构的其余部分一起存放在当前容器中。 可变重复内容分两个部分进行存储,一部分作为存储数据出现次数的计数器,另一部分作为存储每次出现的数据的数组。 可变重复内容的备用映射是基于容器的映射,该映射会存储数据出现次数以及存放数据的容器的名称。 在单独的容器中存储数据会对性能造成影响,这些影响可能会使内联映射成为首选。

INLINE-MAXOCCURS-LIMIT 参数仅在映射级别 2.1 起可用。 INLINE-MAXOCCURS-LIMIT 的值可以是范围 0 - 32767 中的一个正整数。 值 0 指示不使用内联映射。 值 1 确保可选元素进行内联映射。 如果 maxOccurs 属性的 value 大于 INLINE-MAXOCCURS-LIMITvalue ,那么将使用基于容器的映射; 否则将使用内联映射。

当决定是否要以内联方式映射可变重复列表时,请考虑单项重现数据的长度。 如果极少出现长度较长的情况,那么首选基于容器的映射;如果多次出现长度较短的情况,那么首选内联映射。

JSON-SCHEMA-RESTFUL =
这是必需参数。
该值指示用于存储响应 JSON 模式的 UNIX 系统服务位置。
LANG = COBOL|PLI-ENTERPRISE|PLI-OTHER|C|CPP
指定高级语言结构的编程语言:
COBOL
COBOL
PLI-企业
Enterprise PL/I
PLI-其他
PL/I 以外的级别 Enterprise PL/I
C
C
CPP
C++
LOGFILE =
DFHJS2LS 写入活动日志和跟踪信息的文件的完整限定 z/OS UNIX 名称。 DFHJS2LS 创建文件,但不创建目录结构 (如果不存在)。

通常,您不使用此文件,但如果迂到 DFHJS2LS问题,那么 IBM 服务组织可能会请求此文件。

MAPPING-LEVEL = { 1.0 | 1.1 | 1.2 | 2.0 | 2.1 | 2.2 | 3.0 | 4.0 | 4.1 | 4.2 | 4.3 }
指定 DFHJS2LS 在生成 Web Service 绑定文件和语言结构时使用的映射级别。 您可以选择以下选项:
1.0
保留此选项是为了与 SOAP Web Service 兼容。 建议不要与 JSON 配合使用。
1.1
保留此选项是为了与 SOAP Web Service 兼容。 建议不要与 JSON 配合使用。
1.2
保留此选项是为了与 SOAP Web Service 兼容。 建议不要与 JSON 配合使用。
2.0
保留此选项是为了与 SOAP Web Service 兼容。 建议不要与 JSON 配合使用。
2.1
保留此选项是为了与 SOAP Web Service 兼容。 建议不要与 JSON 配合使用。
2.2
保留此选项是为了与 SOAP Web Service 兼容。 建议不要与 JSON 配合使用。
3.0
使用此映射级别可使用可用的完整选项集来生成 JSON 模式。
4.0
当您要使用 UTF-16 时,请在 CICS TS 5.3 或更高版本的区域中使用此映射级别。
4.1
如需支持可截断阵列,请将此映射级别与 CICS TS 5.3 或更高版本的区域一起使用。
4.2
对于其他属性,请将此映射级别与 CICS TS 5.4 或更高版本的区域配合使用。
4.3
对于多维阵列支持,请将此映射级别与 CICS TS 5.4 或更高版本的区域配合使用。

有关映射级别的更多信息,请参阅 CICS JSON 助手的映射级别

MAPPING-OVERRIDES = { 与映射级别相同 |HYPHENS-AS-UNDERSCORES | INTEGER-AS-PIC9 | LESS-DUP-NAMES | UNDERSCORES-AS-HYPHENS | NO-ARRAY-NAME-INDEXING }
指定在生成语言结构时是否覆盖指定映射级别的缺省行为。
与映射级别相同
此参数生成与映射级别相同的样式的语言结构。 这是缺省值。
连字符即下划线
仅限 PL/I。 该参数将 JSON 模式中的任何连字符转换为下划线,而不是字符 X,以提高生成的 PL/I 语言结构的可读性。 更多信息,请参阅 JSON 模式到 PL/I 的映射。 该选项在 4.2 映射级别自动启用。
INTEGER-AS-PIC9
仅适用于 COBOL 和 DFHJS2LS。 此参数生成包含来自 JSON 模式的整数值的语言结构,作为数字而不是字母数字字符。 该选项在映射级别自动启用 4.0
LESS-DUP-NAMES
该参数将生成非结构化结构字段名称,名称末尾带 _value 以支持对字段的直接引用。 例如,在以下 PL/I 语言结构中,当指定 MAPPING-OVERRIDES=LESS-DUP-NAMES 时,第 12 级字段 streetName 后缀为 _value
09 streetName,
12 streetName CHAR(255) VARYING
UNALIGNED,
12 filler BIT (7),
12 attr_nil_streetName_value BIT (1),

生成的结构如下:

09 streetName,
12 streetName_value CHAR(255) VARYING
UNALIGNED,
12 filler BIT (7),
12 attr_nil_streetName_value BIT (1),

该选项在 4.2 映射级别自动启用。

UNDERSCORES-AS-HYPHENS
仅适用于 COBOL。 这个参数将 JSON 模式的任何下划线转换为连字符,而不是字符 X,以提高生成的 COBOL 语言结构的可读性。 如果发生任何字段名称冲突,那么将对字段进行编号以确保其唯一。 更多信息,请参阅 JSON 模式到 COBOL 的映射
此选项在映射级别 4.0自动启用。
NO-ARRAY-NAME-建立索引
仅适用于 COBOL 和 Enterprise PL/I。 确保数组中的字段名称仅在较高级别结构的作用域内唯一。
MINIMUM-RUNTIME-LEVEL = { 最小值 | 1.0 | 1.1 | 1.2 | 2.0 | 2.1 | 2.2 | 3.0 | 4.0 | 4.1 | 4.2 | 4.3 | CURRENT }
指定可将 Web Service 绑定文件部署到的最低 CICS 运行时环境。 如果选择的级别与指定的其他参数不匹配,那么将接收到错误消息。 您可以选择以下选项:
最小值
将根据您选择的参数自动分配 CICS 的最低可能运行时级别。
1.0
保留此选项是为了与 SOAP Web Service 兼容。 建议不要与 JSON 配合使用。
1.1
保留此选项是为了与 SOAP Web Service 兼容。 建议不要与 JSON 配合使用。
1.2
保留此选项是为了与 SOAP Web Service 兼容。 建议不要与 JSON 配合使用。
2.0
保留此选项是为了与 SOAP Web Service 兼容。 建议不要与 JSON 配合使用。
2.1
保留此选项是为了与 SOAP Web Service 兼容。 建议不要与 JSON 配合使用。
2.2
保留此选项是为了与 SOAP Web Service 兼容。 建议不要与 JSON 配合使用。
3.0
生成的网络服务绑定文件会部署到 CICS® 区域。
4.0
生成的网络服务绑定文件已成功部署到 CICS TS 5.3 或更高版本的区域。 通过此运行时级别,可以将映射级别 4.0 或更低版本用于 MAPPING-LEVEL 参数。 可以在此级别使用任何可选参数。
4.1
生成的网络服务绑定文件已成功部署到 CICS TS 5.3 或更高版本的区域。 通过此运行时级别,可以将映射级别 4.1 或更低版本用于 MAPPING-LEVEL 参数。
4.2
生成的 Web Service 绑定文件已成功部署到 CICS TS 5.4或更高版本的区域中。 通过此运行时级别,可以将映射级别 4.2 或更低版本用于 MAPPING-LEVEL 参数。
4.3
生成的 Web Service 绑定文件已成功部署到 CICS TS 5.4或更高版本的区域中。 通过此运行时级别,可以将映射级别 4.3 或更低版本用于 MAPPING-LEVEL 参数。
CURRENT
生成的 Web Service 绑定文件将成功部署到与您用于生成 Web Service 绑定文件的运行时级别相同的 CICS 区域中。
NAME-TRUNCATION = { LEFT | 右边 }
指定是从左还是从右侧截断 JSON 名称。 CICS Web Service 助手将 JSON 名称截断为指定的高级语言的相应长度; 缺省情况下,将从右侧截断名称。
PDSCP =
指定在 PDSMEM 参数中指定的分区数据集成员中使用的代码页,其中 value 是 CCSID 编号或 Java 代码页编号。 如果未指定此参数,那么将使用 z/OS UNIX System Services 代码页。 例如,可以指定 PDSCP = 037
PDSLIB =
指定包含生成的高级语言的分区数据集的名称。 用于请求和响应的数据集成员在 PDSMEM 参数中指定。
PDSMEM =
指定 DFHJS2LS 用于生成将包含高级语言结构的分区数据集成员的名称的 1-6 字符前缀。
通过向前缀追加数字来生成成员名,最大成员名长度为 8 个字符。
PGMINT = CHANNEL | COMMAREA
对于服务提供者,指定 CICS 如何将数据传递到目标应用程序:
CHANNEL
CICS 使用通道接口将数据传递到目标应用程序。
COMMAREA
CICS 使用通信区域将数据传递到目标应用程序。

当目标应用程序处理请求时,它必须使用相同的机制返回响应。 如果在通信区接收请求,那么必须在通信区返回响应;如果在容器中接收请求,那么必须在容器中返回响应。 CICS 传递到目标应用程序的通信区域或容器的长度大于请求通信区域或容器以及响应通信区域或容器的长度。

PGMNAME =
指定 CICS PROGRAM 资源的名称。
当 DFHJS2LS 用于生成在服务提供程序中使用的 Web Service 绑定文件时,必须提供此参数。 它指定将显示为 Web Service 的应用程序的资源名称。
当使用 DFHJS2LS 生成在服务请求者中使用的 Web Service 绑定文件时,请省略此参数。
STRUCTURE = 名称
仅对于 C 和 C++,指定如何生成结构的名称。
生成的结构的名称为 name 01

如果省略该名称,那么结构具有与您指定的 PDSMEM 参数生成的分区数据集成员名相同的名称。

SYNCONRETURN = { NO | YES }
指定远程 Web Service 是否可以发出一个同步点。
远程 Web Service 不能发出一个同步点。 该值为缺省值。 如果远程 Web Service 发出一个同步点,那么它将发生 ADPL 异常终止。
YES
远程 Web Service 可以发出一个同步点。 如果选择 YES ,那么当控制从远程 Web Service 返回时,远程任务将作为单独的工作单元落实。 如果远程 Web Service 更新了一个可恢复的资源并且在返回资源后发生故障,那么将无法回退对该资源的更新。
TRANSACTION = 名称
在服务提供者中,此参数指定可启动管道的别名事务的 1 到 4 个字符的名称。 当使用 PIPELINE 扫描命令自动创建 URIMAP 资源时,此参数的值用于定义该资源的 TRANSACTION 属性。
可接受的字符: A-Z a-z 0-9 $ @ # _ < >
URI =
在服务提供者中,此参数指定客户机用于访问 Web Service 的相对 URI。 CICS 使用从 DFHJS2LS创建的 Web Service 绑定文件生成 URIMAP 资源时指定的值。 该参数指定 URIMAP 定义所应用于的 URI 的路径部分。 在 URI 末尾使用通配符 * 时, URI 值必须后跟逗号。
USERID = 标识
在服务提供者中,此参数指定一个 1 到 8 个字符的用户标识,可供任何 Web 客户机使用。 对于应用程序生成的响应或 Web Service ,将在此用户标识下附加别名事务。 当使用 PIPELINE 扫描命令自动创建 URIMAP 资源时,此参数的值用于定义该资源的 USERID 属性。
可接受的字符: A-Z a-z 0-9 $ @ #
WIDE-COMP3 = { NO | FULL | YES }
控制所生成的 COBOL 或 PL/I 语言结构中压缩十进制可变长度的最大大小。
full
用于 COBOL 和 PL/I。 DFHJS2LS 生成一个打包的十进制字段,其大小足以容纳所有有效值。 最大大小为 31 位。 这是缺省值。
仅适用于 COBOL。 DFHJS2LS 在生成 语言结构类型 时,将打包的十进制变量长度限制为 18。 COBOL COMP-3 如果压缩十进制大小超过 18,那么将发出 DFHPI9022W 消息以指示所指定的类型被限制在总共 18 个数字。
YES
仅适用于 COBOL。 DFHJS2LS 在生成 语言结构类型 时,支持最大 31 的大小。 COBOL COMP-3
注: NOYES 选项生成无法表示所有有效值的字段; FULL 选项可避免此问题。 但是, FULL 选项允许在压缩十进制字段中表示一些无效值。 例如,如果模式指示最多有 5 位数字,最多有 2 位小数,那么 FULL 选项将生成允许 7 位数字的压缩十进制字段,这将允许为有效值 (例如 25000 和 999.99) 提供空间,但也为某些无效值 (例如 9999.99) 提供空间。 使用 FULL 选项时,请注意不要在应用程序数据中生成无效值。
WSBIND =
网络服务绑定文件的完整 z/OS UNIX 名称。 DFHJS2LS 创建文件,但不创建目录结构 (如果不存在)。 文件扩展名缺省为 .wsbind

其他信息

  • 运行 DFHJS2LS 的用户标识必须配置为使用 UNIX 系统服务。 用户 ID 必须具有 CICS z/OS UNIX 文件结构和 PDS 库的读取权限,以及 LOGFILE WSBINDWSDL 参数指定目录的写入权限。
  • 用户标识必须具有足够大的存储器分配才能运行 Java。
  • JCL 的最大参数长度为 100 个字符。 可以使用 STDPARM 语句来增大此值。 更多信息,请参阅 z/OS UNIX System Services 《用户指南》

示例

//JS2LS JOB 'accounting information',name,MSGCLASS=A
// SET QT=''''
//JAVAPROG EXEC DFHJS2LS,
// TMPFILE=&QT.&SYSUID.&QT
/INPUT.SYSUT1 DD *
PDSLIB=//CICSHLQ.SDFHSAMP
PDSMEM=CPYBK2
JSON-SCHEMA-RESTFUL=example.json
LANG=COBOL
LOGFILE=/u/exampleapp/wsbind/example.log
MAPPING-LEVEL=4.0
CHAR-VARYING=NULL
INLINE-MAXOCCURS-LIMIT=2
PGMNAME=DFH0XCMN
URI=exampleApp/example/*,
PGMINT=COMMAREA
SYNCONRETURN=YES
WSBIND=/u/exampleapp/wsbind/example.wsbind
/*