# 发行说明、已知问题、局限性和影响单一服务项目的变通方法

## IMS SOAP Gateway 单一服务项目中的多段消息支持

Enterprise Service Tools IMSTM SOAP Gateway 单一服务项目包括对多段消息传递程序（MPP）的支持。通常在具有以下所有必备软件时，您将能够部署 Rational® Developer for System z® V7.5 中生成的工件：

- IMS™ SOAP Gateway V10.2
- IMS V10R1 IMS Connect
- IMS V10R1 IMS Connect APAR PK69366 的 PTF
- Enterprise COBOL for z/OS® APAR PK65058 的 PTF

## IBM Rational Developer for System z 的 COBOL 编译型 XML 转换已增强了错误检查功能，它可能会发出已更新消息号（IGZ0280S 到 IGZ0298S）以及新的消息号（IGZ0299S 到 IGZ0303S）

问题：对于自底向上和中间会合方案中的 CICS®、IMS 和批处理运行时，IBM® Rational Developer for System z 的 Enterprise Service Tools 编译型 XML 转换可能会终止，返回码为 280 到 303。转换器返回的语言环境消息已过时，或对系统日志或控制台显示文本“未能获取异常消息”

解决方案：Rational Developer for System z 的 COBOL 编译型 XML 转换已增强了错误检查功能，它可能会发出已更新的消息号（IGZ0280S 到 IGZ0298S）以及新的消息号（IGZ0299S 到 IGZ0303S）。请应用 APAR PK65058 的 PTF。

## Web Services for CICS 方案中的其他映射支持

Web Services for CICS 方案具有对其他映射级别和运行时级别（2.2）的支持。要使用在此级别生成的工件，需要应用带有 APAR PK69738 的 CICS TS 3.2。

## 关于 PL/I 至 XML 类型派生的信息

在表 6 内的“从 PL/I 派生的 XML 类型”主题中，PL/I 至 XML 类型存在错误，应忽略。

## 副本导致 Enterprise Service Tools 向导挂起

问题：未解析必需的副本时，Enterprise Service Tools 向导挂起。当 COBOL 导入器首选项页中的错误消息语言设置为 en_US 以外的任何值时，会发生这种情况。

解决方案：通过选择窗口 > 首选项 > 导入器 > COBOL > 更多 COBOL 选项来更改错误消息语言。

## 中间会合导入源文件

问题：在中间会合开发方案中，不支持使用导入源文件向导中的文件系统选项进行导入。

变通方法：将所有必需的文件都复制到常规项目中，然后通过选择导入源文件向导中的“工作空间”来导入这些文件。

## 旧 WSDL/XSD 文件与新 WSDL 文件及 XSD 文件的自底向上冲突

问题：在自底向上式开发方案中，将生成的 WSDL 文件和 XSD 的较旧版本与新生成的转换器配合使用可能会导致运行时错误。例如，可能会出现以下运行时错误消息：

    IGZ0282S 程序 PGMNAME 中的
    XML 至数据结构转换未能完成，原因是转换器不识别 XML 文档中的元素名称。

解决方案：使用转换器生成的 WSDL/XSD 应始终与转换器耦合。

## COBOL COMP-3（PACKED DECIMAL）类型的 XML 模式数据类型映射

问题：在联机帮助主题“从 COBOL 派生的 XML 类型”中，包含 COMP-3（PACKED DECIMAL）的那一行应该为以下内容：

表 1. COBOL 至 XML 类型派生
COBOL 类型 | COBOL UsageValue + COBOL ModelType 属性 | 相应的 XSD 类型
--- | --- | ---
packed-decimal 和 comp-3 -> packedDecimal | packedDecimal | 如果指定了小数点：
    <xsd:simpleType>
    <xsd:restriction base="xsd:decimal">
       <xsd:minInclusive value="xx.x"/>
       <xsd:maxInclusive value="yy.y"/>
    </xsd:restriction>
    </xsd:simpleType>
如果未指定小数点：
    <xsd:simpleType>
       <xsd:restriction base="xsd:short">
         <xsd:minInclusive value="xxx"/>
         <xsd:maxInclusive value="yyy"/>
       </xsd:restriction>
    </xsd:simpleType>

## 不支持导入远程（z/OS Unix）WSDL 文件（这会包括、导入或重定义模式）的自顶向下和中间会合方案

问题：在 Web Services for CICS 单一服务项目中，如果正在使用 WSDL 文件（最初从远程位置导入，包含、导入或细分模式）运行“创建新的服务实现”（自顶向下）方案或“映射至现有服务接口”（中间会合）方案，那么此操作会失败并返回错误。

变通方法：将所有必需的文件复制到工作站或工作空间中的常规项目，并使用“RMB”->“导入”->“源文件”将本地 WSDL 文件导入到“Web Services for CICS 项目”中，然后尝试自顶向下方案。

## 单一服务向导生成的 COBOL 转换例程仅在 z/OS 中运行

即使工作站 COBOL 编译器在编译时和运行时支持 XML PARSE 语句，单一服务向导生成的 COBOL 程序仍被设计为仅在 z/OS® 环境中运行

## XML 元素嵌套深度

问题：XML 至语言结构的转换器返回以下异常消息：

    IGZ0291S 由于超过了 XML 元素最大嵌套深度，无法在程序
    program-name 中完成 XML 至数据结构的转换。在具有字符内容
    character-content 的元素 element-name 处发生错误。

变通方法：XML 至语言结构转换器未能处理特定 XML 元素的嵌套深度。虽然允许嵌套级别超出原始 COBOL 结构的嵌套级别，但可以超出此限制。如果请求 XML 文档包含模式中不存在的元素，那么当该元素的嵌套级别太深时，它就会导致这种情况发生。

## COBOL 数据结构中的 FILLER 项

问题：因为父项会随其基本项一起过滤掉，所以在数据结构选择页或映射会话编辑器中无法选择未命名的组及其基本项。

变通方法：编辑 COBOL 数据结构并对需要进行转换的组和/或基本数据项命名。为 COBOL 组命名会使其非填充符基本项成为可供选择的项。

## OPT 编译器选项冲突

问题：如果在 JCL 中指定 TEST 选项作为编译选项，那么驱动程序和转换器程序中生成的 PROCESS 语句中的 OPT 编译器选项将与该选项冲突。

变通方法：如果要对生成的 XML 转换器程序进行调试，请在 Web service 向导中“生成选项”页面上的“指定与编译器相关的首选项”组中取消选中“优化”复选框。

## 包含 OCCURS DEPENDING ON 项的 COBOL 组的自动匹配映射

问题：如果 COBOL 数据项是 ODO 项或包含 ODO 项，那么除非在尝试执行“匹配映射”操作前手动映射 ODO 对象，否则无法对兼容的 XML 结构执行“匹配映射”操作。

变通方法：在尝试执行“匹配映射”操作之前，根据映射规则手动映射 ODO 对象。（在 XML 文档中，映射至 COBOL ODO 对象项的元素必须在映射至相应 COBOL ODO 主题的 XML 元素之前出现。）

## “启用 XML”向导中的某些文本输入字段区分大小写

问题：在 Windows® 上，Eclipse 中的文件夹和文件名条目是区分大小写的。

变通方法：确保输入的文件夹和文件名具有一致性。例如，如果文件夹名称在工作台中显示为 MyFolder，那么必须在请求文件夹名称的输入字段中输入 MyFolder。例如，如果输入 myfolder，那么工具可能会将此名称标记为无效或不存在的文件夹名称。

## 无效指针导致无限循环

问题：向 XML 转换器或驱动程序提供非空的无效指针会导致无限循环。

变通方法：XML 转换器尝试检测并报告调用程序传递的空指针。对于非空的无效指针，XML 转换器将可能遇到并返回保护异常（SOC4）。

## 对具有 SOAP for CICS 和 Web Services for CICS 的 DBCS 数据成员的支持

对 Enterprise Service Tools 单一服务项目中的 DBCS 数据项的支持要求请求和响应 XML 文档以 UTF-16 或 UTF-8 编码。如果 Web service 的目标运行时为 SOAP for CICS，请配置该功能部件以与 XML 转换器驱动程序交换以 UTF-8 或 UTF-16 编码的 XML。缺省情况下，Web Services for CICS 运行时将与客户机交换以 UTF-8 编码的 XML，而 XML 转换器驱动程序与 CICS 交换以 UTF-16 编码的 XML；当需要 UNICODE 时，UTF-16 是当前适用于 XML 转换器的最有效选择。对于每种运行时，可能需要使用转换映像配置 UNICODE 的 z/OS 支持，以支持 UNICODE 和 DBCS 主机代码页之间的转换。

## 生成 > XML 文件菜单项不遵循 XSD 模式限制

问题：“生成”->“XML 文件”菜单项不遵循 XSD 模式中的限制。对 Enterprise Service Tools 创建的 XSD 执行“生成 XML 文件”操作可导致生成无效的 XML 文件。

变通方法：编辑生成的 XML 文件，以使标记内容符合在 XSD 模式中指定的限制。

## XML 和 Web Service 批处理器：配置 XML 中的无效条目可能会在批处理过程中导致空指针异常

问题：选项 XML 文件（Container.xml、PlatformProperties.xml 和 ServicesSpecification.xml）中的无效条目可能导致执行批处理器时出现空指针异常。

变通方法：遵循正确指定选项 XML 文件中条目的格式。

## XML 和 Web Service 批处理器：为输入语言文件位置指定目录

可在 importDirectory 属性中将 COBOL 输入文件的位置指定为绝对路径，以指定的驱动器盘符开头（例如，C:\mypath\test）。

相反，如果希望指定相对路径（例如，为了可以在不更改 xsebatch 配置文件中的任何文件位置的情况下重新分配配置文件和 COBOL 源代码的位置），请尝试执行以下步骤：

表 2.
目录： | 描述：
--- | ---
`C:\workspace\account_details` | 主项目
`C:\workspace\account_details\cobol_src` | 具有要导入的 COBOL 源文件的子目录
`C:\workspace\account_details\xsebatch_config` | 具有 xsebatch 的 XML 配置文件的子目录

对于 cobol_src 目录中名为 DFH0ACTD.cbl 的 COBOL 源文件，可以使用以下 InputOutputMessage 元素：

    <InputOutputMessage importFile="../cobol_src/DFH0ACTD.cbl"></InputOutputMessage>

或者，可以将 COBOL 源文件放置在调用 xsebatch 的同一目录中。

## XML 和 Web Service 批处理器：指定混合大小写的数据名

即使 COBOL 数据名不区分大小写，仍然需要在说明 xml 文件中指定确切的大小写。例如，如果在 COBOL 数据源中，数据名为 MY-Data，那么在服务说明 xml 中必须将 nativeTypeName 属性设置为 nativeTypeid="MY-Data"。如果未指定确切的大小写，那么将找不到该数据名，并且在缺省情况下将使用第一个可用级别 01 数据名。

## 对象征常量 LOW-VALUES 和 HIGH-VALUES 的限制

象征常量 LOW-VALUE(S) 和 HIGH-VALUE(S) 可以存在于单一服务向导内使用的 COBOL 数据结构中，但其语义会被单一服务向导忽略，并且不会进入这些 Enterprise Service Tools 单一服务向导生成的工件中。

## Enterprise Service Tools 单一服务项目名中的 GB18030 字符

问题：在 Enterprise Service Tools 单一服务项目名中使用来自 GB18030 代码页中的字符会导致对该项目中的文件运行 Enterprise Service Tools 单一服务向导时出错。

变通方法：在命名 Enterprise Service Tools 单一服务项目时，不要使用 GB18030 字符。

## 没有始终清除临时文件

问题：运行 Enterprise Service Tools 单一服务向导后，您可能有时会注意到 Enterprise Service Tools 单一服务项目文件夹中遗留了临时文件（例如：~DF45B.tmp）。

变通方法：在运行 Enterprise Service Tools 单一服务向导之后，如果在 Enterprise Service Tools 单一服务项目中看到类似命名的文件，那么可以安全地将它们删除。

## 没有始终清除临时项目

问题：旧映射文件的迁移过程要求引用的被映射源文件与映射文件位于同一个文件夹中。如果不满足该要求，那么映射迁移工具将失败，并且显示以下错误消息：“资源 [filename].mapping 不在本地”。

变通方法：在运行 Enterprise Service Tools 单一服务向导之后，如果在工作空间看到类似命名的项目，那么可以安全地将它们删除。

## 当迁移 V6.0 映射文件（.cmx 文件）时，.cmx 文件引用的源文件必须在同一个文件夹中

问题：旧映射文件的迁移过程要求引用的被映射源文件与映射文件位于同一个文件夹中。如果不满足该要求，那么映射迁移工具将失败，并且显示以下错误消息：“资源 [filename].mapping 不在本地”。

变通方法：将引用的源文件移至正在迁移的映射文件所在的文件夹。

## 在 Web Service 向导中浏览至远程位置会导致工作台锁定

问题：当连接名称较长时（如 ctfmvs08.rtp.raleigh.ibm.com），在 Web service 向导页中浏览至远程位置以找到目标文件夹（转换器文件夹、WSDL 或 WSBIND 文件夹）可能要花很长时间或者会锁定工作台。

变通方法：将连接名称重命名为较短的名称，如 ctfmvs08。

## 生成的 XML 模式中的全局元素名称在解释型 XML 转换类型与编译型 XML 转换类型之间不一致

问题：解释型 XML 转换和编译型 XML 转换在缺省情况下生成的 XML 模式中的 Web Service 消息根元素名称不匹配。您可能需要更改编译型 XML 转换的生成缺省值以与解释型转换情况匹配，如下面的“变通方法”部分中描述的那样。这将允许您在以后需要时将转换类型从解释型更改为编译型，而无需重新发布 WSDL 文件且无需更改 Web Service 的客户机中的代码。

变通方法：生成工件以进行编译型 XML 转换时，您可以使用此向导更改根元素名称以与解释型 XML 转换匹配。此新选项称为“根元素名称”，位于生成选项页的 WSDL 和 XSD 选项这一选项卡的请求和响应 XML 模式属性组中。

例如，名为 A-B-C 的 COBOL 组将导致解释型转换工件具有消息根元素名称“a_b_c”。缺省编译型转换工件将具有根元素名称“ABC”。如先前所述，可将向导中的“ABC”更改为“a_b_c”，以便与为进行解释型转换而生成的 WSDL 匹配。

## 不允许在生成的 XML 转换器文件的名称中使用 DBCS 字符

问题：不允许在 z/OS 上的分区数据集成员的名称中使用 DBCS 字符。

变通方法：指定 XML 转换器文件的名称时省略 DBCS 字符。同时检查向导建议的缺省文件名是否未包含 DBCS 字符。

父主题： Enterprise Service Tools － 发行说明