使用 IMS 同步调出功能时,为 IMS SOAP Gateway 服务请求器生成的 XML 转换器错误地期望语言结构以 LL 和 ZZ 开头

本主题描述 XML 转换器与 IMS™ 同步调出功能相兼容的能力。

问题:

仅当 LL 和 ZZ 出现在映射的 01 级别语言结构中时,Rational® Developer for System z® 7.5 生成的 XML 转换器才会与 IMS 同步调出(ISC)兼容。

IMS V10 SPE 引入了 IMS 同步调出功能(ISC)。这一新功能允许 IMS 应用程序通过 IMS SOAP Gateway 同步调用 Web service。使用 IMS 异步调出功能(IAC)时,来自远程 Web service 的响应总是启动新的事务实例,而 ISC 功能与 IAC 不同,ISC 功能允许 IMS 应用程序等待响应并即时作用于同一事务实例。为了允许 IMS 应用程序与远程 Web service 同时通信,ISC 功能将绕过传统 IMS 消息队列并传送应用程序的请求和响应语言结构。

因为 IMS 同步调出(ISC)绕过 IMS 消息队列,所以该功能要求应用程序的请求和响应数据完全包含在最多两个 01 级别语言结构中:一个用于请求数据,一个用于响应数据。此外,因为这些字段仅与异步消息传递一起使用,所以语言结构不必以 LL 和 ZZ 开头;如果这些字段是在传递至 ICAL(新的同步调出 API)的 01 级别语言结构中定义的,那么将按处理语言结构中的任何其他字段的方式来处理这些字段。

解决方案:

使用 Enterprise Service Tools Web Service 向导:

通过 IMS SOAP Gateway 向导页上标签为“调出消息类型”的新组合框来指定 IMS 消息类型(同步或异步),并重新生成 XML 转换器。

使用 Enterprise Service Tools 批处理处理器:

通过名为“GEN_IMS_MESSAGE_TYPE”的新 CodegenProperty 来指定 IMS 消息类型(同步或异步),并重新生成 XML 转换器。下面 CodegenProperty 表中描述了名为“GEN_IMS_MESSAGE_TYPE”的新 CodegenProperty:
字段 描述

属性:
GEN_IMS_MESSAGE_TYPE
有效值:ASYNC | SYNC
缺省值:ASYNC

此属性的值指示 COBOL 和 PL/I XML 转换器生成器生成与 IMS 异步调出(ASYNC)或 IMS 同步调出(SYNC)功能相兼容的代码。