z / OS如何调用Web服务? [关闭]

问题描述 投票:2回答:5

我有一个需要从Web服务获取数据的COBOL程序。不使用CICS我最好的选择是什么?我认为C程序可以读取Web服务并将其保存到文件中,然后COBOL可以读取该文件。 COBOL可以调用Web服务吗?数据大小约为300mb。

web-services cobol mainframe zos
5个回答
5
投票

使用IBM TCP / IP“EZASOKET”模块

我在一家运行z / OS系统的公司工作,主要运行COBOL,批处理(JCL)和CICS。为了调用webservices,我们编写了一个使用TCP / IP实现HTTP 1.0的模块。有了模块

  • EZASOKET 的gethostbyname 插座 CONNECT 写 FCNTL 读 关 SELECTEX

补充模块:

  • EZACIC04将EBCDIC转换为ASCII
  • EZACIC05将ASCII转换为EBCDIC
  • EZACIC06将字符转换为位掩码
  • EZACIC08解码IP地址

自从我为公司写这篇文章以来,我不能只是给出代码。但是作为参考,我花了3天的时间来编写模块,这是一个开始的例子,它做了一个部分hacky方式。

您需要阅读IBM的参考资料,了解如何使用EZA模块。


2
投票

可以在z / os上从COBOL程序调用java。 我们在公司做过。

  1. 你必须指定它是RECURSIVE
  2. 您必须导入类

HelloJ类是 “com.ibm.zos.batch.container.test.HelloJ” JavaException类是“java.lang.Exception” BCDTranHelper类是 “com.ibm.batch.spi.UserControlledTransactionHelper”。

  1. 你必须包括JNI。链接部分。 COPY JNI

***然后你可以在你的PROCEDURE DIVISION中调用来自COBOL的java: 调用HelloJ“sayHello”

另请参阅Java Exception Check *以了解如何处理异常。

如果要从z / OS上的COBOL程序调用Web服务,这非常有用。

有关详细信息,请参阅此链接。

http://pic.dhe.ibm.com/infocenter/zos/v1r13/index.jsp?topic=%2Fcom.ibm.zos.r13.iean500%2Fcodeexm.htm


0
投票

也许看看this article。它建议为Web服务创建一个C / C ++包装器。虽然本文适用于iSeries,但您可以使用BPXBATCH在zSeries下实现非常相似的内容

基本上,他们建议在COBOL代码和与Web服务连接的C ++代码之间使用C包装器。该解决方案允许COBOL以相对直接的方式调用C函数。 C函数通过使用C ++代理实现对Web服务的调用来模仿C ++行为。


0
投票

如果您可以在您的站点上使用Java,则可以选择从cobol程序调用Java来访问Web服务。假设您使用Enterprise cobol,请查看Java Stand-alone Applications on z/OS Volume II的第6.44节


0
投票

如果您处于z / OS 2.1或更高版本,请使用z / OS客户端Web支持工具包。

查看Cobol的SYS1.SAMPLIB(HWTHXCB1)中的示例。

如果您的Cobol在DB2 DSN命令下运行,您还可以使用SOAPHTTP *标量函数。

© www.soinside.com 2019 - 2024. All rights reserved.