我们正在尝试使用 CICS 4.1 将 COBOL 程序与 SOAP 服务集成。一个挑战是响应包含可变数量的返回代码,这使字帖变得复杂。
- 该
DFHWS2LS
程序在字帖中为响应结构生成两个 01 级别(请参阅下面的字帖片段)。这第二个 01 级别应该用于联动,还是应该将其视为工作存储字段? - 当处理通过管道的单个容器时,CICS 程序需要执行许多活动(参见下面的示例)。当我们有两个容器时,这一切都必须做两次吗?
我搜索了 Internet 和 IBM 文档,但没有找到如何处理此问题的示例。似乎任何时候 WSDL 模式中存在可变数量的元素时都会发生这种情况。一个关于某人如何处理通过同一管道的两个容器的 COBOL 示例将是最有帮助的。
这是字帖片段(程序中提供了初始 01 级别):
05 ObligationResponse.
10 ReturnCodes-num PIC S9(9) COMP-5 SYNC.
10 ReturnCodes-cont PIC X(16).
(other response structure elements deleted for brevity)
01 pfcsO01-ReturnCodes.
05 DiscrepancyCode PIC S9(9) COMP-5 SYNC.
05 DiscrepancyLevelCode PIC S9(9) COMP-5 SYNC.
这里是我们用来设置第一个容器的代码,我们不知道如何合并第二个容器。
PERFORM 2000-PUT-INPUT-INTO-CONTAINER
THRU 2000-EXIT.
PERFORM 6000-CHECK-CONTAINER-COMMAND
THRU 6000-EXIT.
PERFORM 3000-INVOKE-WEBSERVICES
THRU 3000-EXIT.
PERFORM 4000-CHECK-WEBSERVICE-COMMAND
THRU 4000-EXIT.
PERFORM 5000-RECEIVE-RESPONSE
THRU 5000-EXIT.
PERFORM 6000-CHECK-CONTAINER-COMMAND
THRU 6000-EXIT.
PERFORM 7000-USER-CODE-TO-FMT-OUTPUT
THRU 7000-EXIT.
PERFORM 9000-TERMINATE-CICS
THRU 9000-EXIT.
GOBACK.