标签: cics

伪对话与对话CICS编程有什么优势?

我试图理解伪对话和对话CICS编程之间的差异.每种方法的优点和缺点是什么?

cobol mainframe cics

9
推荐指数
3
解决办法
3661
查看次数

Axis2(aar)+ spring,没有servletContext

亲爱的Stackoverflow用户,我最近在使用Spring框架的axis2 Web服务的一个特定问题时遇到了很多痛苦.我已经阅读了很多不同的指南并阅读了不同的论坛,但发现人们有同样的问题,但没有解决方案.基本上最后用双手握住显示器并大喊"你发现了什么是BudapestHacker938?".无论如何,我的axis2 Web服务类需要Spring bean,因此它们在Web服务类中自动装配.在我有servletContext的jetty服务器里,一切都运行良好.只需在web.xml中定义所需的侦听器即可.这样的幸福.但不幸的是,在某些方面所有好事都落到了尽头,对我来说,魔鬼是大型机内部的CICS环境.Jetty/Tomcat中没有servletcontext,幸运的是,它仍然支持axis2.因此,根据不同的用户指南,我决定将我的网络服务存档到.aar并将其添加到services文件夹下.Axis2文件夹结构如下:

  • 资料库/
    • 模块
    • 服务

当我构建这个.aar存档时,我也在生成我自己的wsdl,而不是使用axis2内置的wsdl生成器,根据services.xml生成给定类的服务(当我运行axis2server时,不使用因为doesn'就我所知,我喜欢JAX-WS注释.要初始化Spring框架,我需要编写初始化Spring bean的SpringInit类.不幸的是,由于某种原因它也会根据其注释初始化我的web服务类,然后占用主端口(怀疑SpringInit通过自己的Web服务类初始化,因为它也被定义为Spring bean而SpringInit扩展了Axis2类ServiceLifeCycle)我得到JVM BIND异常,它说明地址已被使用.我希望根据存储在WSDL内部的wsdl构建服务,而不是生成新服务,因为我有各种环境:1)本地机器 - Jetty 2)大型机.无论如何,我深入了解了我的services.xml:

<service name="Absence" class="org.services.SpringInit">
<description>
    random description
</description>
<parameter name="ServiceTCCL">composite</parameter>
<parameter name="useOriginalwsdl" locked="false">true</parameter>
<parameter name="ServiceObjectSupplier">org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier</parameter>
<parameter name="ServiceClass">org.services.Absence</parameter>
<parameter name="SpringBeanName">absence</parameter>
<parameter name="SpringContextLocation">META-INF/applicationContextAar.xml</parameter>
</service>
Run Code Online (Sandbox Code Playgroud)

Spring applicationContextAar.xml,为亲爱的Stack社区进行了一点点重构:

<beans>
<bean id="applicationContext" class="org.apache.axis2.extensions.spring.receivers.ApplicationContextHolder" />
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>
<bean id="ds" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.h2.Driver" />
<property name="url" value="jdbc:h2:tcp://localhost/~/devDb" />
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
<bean id="absence" class="org.services.Absence"></bean>
<bean id="jtemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
<constructor-arg ref="ds"></constructor-arg>
</bean>
<bean id="datasetFactory" class="org.vsam.DataSetFactory"></bean>
<bean id="dataManagerFactory" class="org.datamanager.DataManagerFactory"></bean>
<bean …
Run Code Online (Sandbox Code Playgroud)

integration spring axis2 mainframe cics

5
推荐指数
1
解决办法
1723
查看次数

如何将链接段数据传递给COBOL中的另一个程序的链接部分

我正在开发一个处理程序调用的Wrapper/Bridge COBOL程序,并执行日志记录,安全检查等交叉操作.主要动机是检查消费者程序的安全访问权限是否有权调用生产者程序.

让桥COBOL程序为B1,生产者程序P1和消费者(客户)C1.

当C1想要拨打P1时,它必须拨打B1电话.然后,B1检查可访问性.如果C1有权访问,则B1用C1的数据调用P1.

C1 -> B1 -> P1 
Run Code Online (Sandbox Code Playgroud)

在这里,B1和P1的连接部分是相同的.程序正在使用EXEC CICS LINK相互调用.

COMMAREA,

COMMAREA1 (DataSet Name)

01 COMMAREA-STRUCT, 
   03 a-field
   03 another-field      
    ...
Run Code Online (Sandbox Code Playgroud)

客户端;

IDENTIFICATION DIVISION.
PROGRAM-ID.  Client.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
COPY COMMAREA1
PROCEDURE DIVISION

 /* fill CommareaStruct with some values. */
 ....
 /* call B1 Bridge */ 
   EXEC CICS LINK PROGRAM  (B1Bridge)      NOHANDLE
     COMMAREA (COMMAREA-STRUCT) 
     LENGTH (LENGTH OF COMMAREA-STRUCT) 
    END-EXEC
 ....
Run Code Online (Sandbox Code Playgroud)

大桥,

IDENTIFICATION DIVISION.
PROGRAM-ID.  B1Bridge.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
LINKAGE SECTION.
COPY COMMAREA1 …
Run Code Online (Sandbox Code Playgroud)

cobol mainframe cics

5
推荐指数
1
解决办法
2027
查看次数

关闭交易CICS

我有一个简短的程序COBOL CICS,它是一个基本的CRUD。在此程序中,我有一个选项,当我按F12键时要退出,请关闭我的交易。

我想按F12键,交易关闭。

我可以在我的COBOL程序中编写任何命令来执行此操作吗?

谢谢

db2 cobol transactions mainframe cics

4
推荐指数
1
解决办法
307
查看次数

哪个是经过验证的连接大型机和java的解决方案?哪个在MQ系列/ IBM CICS Transaction Gateway中最好?

哪个是经过验证的连接大型机和java的解决方案?哪个在WebSphere MQ/IBM CICS Transaction Gateway中最好?

哪个是连接到java和大型机COBOL的最佳解决方案?

cobol cics zos ibm-mq

3
推荐指数
1
解决办法
6273
查看次数

从JCL批处理调用CICS程序

是否可以从JCL批处理中调用CICS程序?

如果有,怎么样?如果不是为什么不呢?

cobol mainframe jcl cics

3
推荐指数
1
解决办法
5843
查看次数

大型机 - 文件名上的扩展名后缀的名称是什么?

我记得当做一个ftp将文件从大型机复制到Windows时,文件名总会有一些数字后缀,每天都会改变.即abc.4328然后它将成为abc.23595..etc大型机世界中更改后缀的概念/术语是什么?

db2 cobol mainframe cics zos

3
推荐指数
1
解决办法
377
查看次数

Abend Causing Line

有没有什么方法可以找到导致异常(例如SO4C)从offset +00007D0A at address 1515CD0A线轴中给出的偏移量(如SO4C)的确切行号,并显示错误消息.

db2 cobol mainframe rexx cics

2
推荐指数
1
解决办法
1554
查看次数

将Boomi连接到CICS主机的推荐方法是什么?

潜在客户要求我们建议在CICS主机上使用主机服务的集成策略.

由于我们通常将此选择委托给与客户的CICS专家的专门会议,因此我们在这里有点失衡,需要建议.

根据经验,我通常建议(CICS与否):

  • 如果您不需要事务,请公开WebServices
  • 如果需要事务,则公开MQ端点

但是,我并没有特定的CICS知识来论证.我特别感兴趣的经验:

  • 设置的复杂性
  • 性能
  • MQ的分布式事务
  • 使用Dell Boomi的经验

有没有人有关于Boomi连接到CICS主机的最佳实践的建议或链接?

我的其他选择是:

  • 使用CICS Transaction Gateway构建本机连接器插件.然而,这需要在Boomi方面进行大量的工作和本机java开发,而且我不确定其优势.此外,这适用于来自Boomi => CICS的调用,但不允许侦听CICS => Boomi调用.
  • 调用DB2存储过程,然后调用COBOL.我们已经使用AS400做到了这一点,并且知道在开销和性能方面存在局限性,下面链接的文章也提出了进一步的限制.该解决方案也有允许Boomi => CICS的限制,但不允许来自CICS => Boomi的调用

这里最相关的两个问题是:

但两者都没有戴尔Boomi的链接

architecture cobol eai cics

2
推荐指数
1
解决办法
498
查看次数

COBOL 程序中出现重叠错误

科博程序:

PROGRAM-ID. SCHPROG.            
ENVIRONMENT DIVISION.           
INPUT-OUTPUT SECTION.           
FILE-CONTROL.                   
    SELECT MYFILE ASSIGN TO INDD
    ORGANIZATION IS SEQUENTIAL  
    ACCESS MODE IS SEQUENTIAL.  
DATA DIVISION.                  
FILE SECTION.                   
FD MYFILE.                      
01 FILERECORDS.                 
    05 NAME    PIC A(10).       
    05 CLASS-IN PIC 9(1).       
    05 ROLL    PIC 9(5).        
WORKING-STORAGE SECTION.        
COPY SCHMAPA.                   
COPY SCHMAPB.                   
COPY SCHMAPC.                   
01 END-OF-FILE PIC A(3) VALUE 'NO'.
PROCEDURE DIVISION.                
000-MAIN-PARA.                     
    PERFORM 100-SEND-MAPA.         
    PERFORM 100-RECEIVE-MAPA.      
    IF CHOICEI = '1'               
    PERFORM 200-SEND-MAPB          
    PERFORM 200-RECEIVE-MAPB       
    PERFORM 200-SEND-MAPB          
    PERFORM 100-SEND-MAPA          
    END-IF.                        
    IF CHOICEI = '2'               
    PERFORM 300-SEND-MAPC …
Run Code Online (Sandbox Code Playgroud)

cobol mainframe cics zos gnucobol

2
推荐指数
1
解决办法
1614
查看次数

标签 统计

cics ×10

cobol ×9

mainframe ×8

db2 ×3

zos ×3

architecture ×1

axis2 ×1

eai ×1

gnucobol ×1

ibm-mq ×1

integration ×1

jcl ×1

rexx ×1

spring ×1

transactions ×1