创建 JSON Web Service 客户机应用程序

您可以编写应用程序,通过使用可链接接口调用 RESTful Web Service 来变换 JSON,然后使用 Web 命令将其发送至远程服务提供者。

开始之前

您必须熟悉使用可链接接口来变换 JSON ,如 使用可链接接口变换应用程序数据和 JSON 中所述,以及使用 EXEC CICS WEB API ,如 通过 CICS 作为 HTTP 客户机发出 HTTP 请求中所述。

关于此任务

作为 CICS 应用程序的一部分,您可能想要调用另一个系统上托管的 RESTful Web Service。 要执行此操作,必须首先描述要与远程服务交换的数据。 然后,您可以编写一个应用程序,该应用程序使用 EXEC CICS WEB API 通过 HTTP 协议与远程服务进行通信,以将请求数据发送到服务并接收响应数据。 您可以使用可链接接口将应用程序数据转换为 JSON 以用作请求的一部分,并将 JSON 响应转换为应用程序数据。 某些服务可能不支持请求和响应的有效内容。

过程

  1. 定义远程服务的接口。
    1. 如果远程服务存在,请检查 JSON 模式是否可用,以描述请求和响应有效内容。 否则,必须创建一个。 然后,使用 JSON 助手生成到语言结构的映射。 有关更多信息,请参阅 根据 JSON 模式生成映射
    2. 如果远程服务尚不存在,并且您希望其接口基于应用程序的数据结构,请使用 JSON 助手来生成 JSON 模式。 然后,将 JSON 模式传递给远程服务应用程序开发者。 有关更多信息,请参阅 从语言结构生成映射
  2. 为 JSON 助手生成的捆绑软件定义 BUNDLE 资源,并在 CICS 中安装该捆绑软件。
  3. 为远程服务端点定义 URIMAP 资源并进行安装。 有关更多信息,请参阅 URIMAP 资源
  4. 创建或更新应用程序以调用远程服务,如下所示:
    1. 如果远程服务需要请求的 JSON 有效内容 (例如,当 HTTP 方法为 POST 或 PUT 时) ,请使用可链接接口将应用程序数据转换为 JSON。
    2. 使用 EXEC CICS WEB OPEN 命令打开与托管远程服务的服务器的连接。
      有关更多信息,请参阅 WEB OPEN
    3. 根据服务的需求,您可能希望对 EXEC CICS WEB WRITE HTTPHEADER 命令进行编码以指定 Content-Type 头 application/JSON ,以指示正在提供 JSON。
      有关更多信息,请参阅 WEB WRITE HTTPHEADER
    4. 编码 EXEC CICS WEB CONVERSE 命令以将请求发送到远程服务并接收响应。 如果需要,请指定查询字符串或请求主体 (来自 DFHJSON-JSON 容器)。 如果您期望来自服务的响应,请指定 DFHJSON-JSON 容器以接收响应 JSON。
      有关更多信息,请参阅 WEB CONVERSE
    5. 如果您不期望发出更多请求,请对 EXEC CICS WEB CLOSE 命令进行编码以关闭连接。 有关更多信息,请参阅 WEB CLOSE
    6. 检查 EXEC CICS WEB CONVERSE 命令返回的 HTTP 响应代码,如果发生错误,请执行相应的操作。
      例如,重试该请求或向用户返回错误。
    7. 如果期望来自远程服务的响应主体,请使用可链接接口将 JSON 变换为应用程序数据。

结果

您已创建可以使用 JSON 有效内容调用 RESTful Web Service 的应用程序。