我有一个需要从Web服务获取数据的COBOL程序。不使用CICS我最好的选择是什么?我认为C程序可以读取Web服务并将其保存到文件中,然后COBOL可以读取该文件。 COBOL可以调用Web服务吗?数据大小约为300mb。
答案 0 :(得分:5)
使用IBM TCP / IP'EZASOKET'模块
我在一家运行z / OS系统的公司工作,主要运行COBOL,批处理(JCL)和CICS。为了调用webservices,我们编写了一个使用TCP / IP实现HTTP 1.0的模块。使用模块
补充模块:
自从我为公司写这篇文章以来,我不能只是给出代码。但是作为参考,我花了3天的时间来编写模块,这是一个开始的例子,这是一种部分hacky方式。
您需要阅读IBM的参考资料,了解如何使用EZA模块。
答案 1 :(得分:2)
可以在z / os上从COBOL程序调用java 我们在公司做过。
班级HelloJ是
“com.ibm.zos.batch.container.test.HelloJ”
类JavaException是“java.lang.Exception”
BCDTranHelper类是
“com.ibm.batch.spi.UserControlledTransactionHelper”。
* * *然后您可以在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
答案 2 :(得分:0)
也许看看this article。它建议为Web服务创建一个C / C ++包装器。虽然本文适用于iSeries,但您可以使用BPXBATCH在zSeries下实现非常相似的内容
基本上,他们建议在COBOL代码和与Web服务连接的C ++代码之间使用C包装器。该解决方案允许COBOL以相对直接的方式调用C函数。 C函数通过使用C ++代理实现对Web服务的调用来模仿C ++行为。
答案 3 :(得分:0)
如果您可以在您的站点使用Java,则可以选择从cobol程序调用Java来访问Web服务。假设您使用Enterprise cobol,请查看Java Stand-alone Applications on z/OS Volume II
的第6.44节答案 4 :(得分:0)
如果您使用的是z / OS 2.1或更高版本,请使用z / OS客户端Web启用工具包。
在 SYS1.SAMPLIB(HWTHXCB1)中查找Cobol的示例。
如果您的Cobol在DB2 DSN命令下运行,那么您还可以使用SOAPHTTP *标量函数。