Web services z/OS如何调用web服务?

Web services z/OS如何调用web服务?,web-services,cobol,mainframe,zos,Web Services,Cobol,Mainframe,Zos,我有一个COBOL程序,需要从web服务获取数据。如果不使用CICS,我的最佳选择是什么?我认为C程序可以读取web服务并将其保存到文件中,然后COBOL可以读取该文件。COBOL可以调用web服务吗?数据大小约为300mb。请看一看。它建议为web服务创建一个C/C++包装器交互。尽管本文是针对iSeries的,但您可能能够在zSeries下使用BPXBATCH实现非常类似的东西 基本上,他们建议在COBOL代码和与Web服务接口的C++代码之间使用C包装器。此解决方案允许COBOL以相对直接

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

请看一看。它建议为web服务创建一个C/C++包装器交互。尽管本文是针对iSeries的,但您可能能够在zSeries下使用BPXBATCH实现非常类似的东西


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

< P>如果您可以在您的站点使用java,从COBOL程序调用java来访问Web服务可能是一种选择。假设您正在使用企业cobol,请查看第6.44节的使用IBM TCP/IP“EZASOKET”模块

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

  • 埃扎斯克特
    • GETHOSTBYNAME
    • 插座
    • 连接
    • FCNTL
    • 阅读
    • 接近
    • SELECTEX
补充模块:

  • EZACIC04将EBCDIC转换为ASCII
  • EZACIC05将ASCII转换为EBCDIC
  • EZACIC06将字符转换为位掩码
  • EZACIC08解码IP地址
既然我是为我的公司写的,我就不能仅仅给出代码。但作为参考,我花了3天的时间来编写这个模块,这是一个例子开始,做了一个部分黑客的方式做它

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


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

    • 您必须指定它是递归的
    • 您必须导入这些类
    • 类HelloJ是
      “com.ibm.zos.batch.container.test.HelloJ”
      类JavaException为“java.lang.Exception”
      类BCDTranHelper是
      “com.ibm.batch.spi.UserControlledTransactionHelper”

    • 您必须包括JNI。 联动部分。 复制JNI
    • ***然后,您可以使用以下命令从过程部分的COBOL调用java:
      调用HelloJ“sayHello”

      还可以查看Java异常检查*以了解如何处理异常

      如果您想从z/os上的COBOL程序调用web服务,这非常有用

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


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

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


      如果您的Cobol是在DB2DSN命令下运行的,那么您也可以使用SOAPHTTP*标量函数。

      CICS之所以在这里是verboten,有什么特别的原因吗?从批处理作业访问CICS服务非常容易。对此我将予以纠正,但。。。我认为可以从Java应用程序调用COBOL子例程(方法),但反过来不行。Java需要在JNI下运行,但COBOL仅在从Java调用时才需要它。如果中的顶级进程不是在JNI(即Java)下运行,则无法调用需要它的较低级别进程。这就是为什么z/os下的OO COBOL主线是不存在的(它们只能从Java程序调用)。