当前位置: 首页 > 知识库问答 >
问题:

使用Liberty WebApp中的WOLA访问CICS

龙亮
2023-03-14

尝试从Liberty中的webapp直接使用WOLA到CICS。使用z/OS Connect V2(zCEE)成功使用相同的CICS区域。使用Liberty,我配置了:

 <featureManager>
     <feature>servlet-3.1</feature>
     <feature>jndi-1.0</feature>
     <feature>jaxrs-1.1</feature>
     <feature>zosLocalAdapters-1.0</feature>
 </featureManager>

 <!-- WOLA group to which others register -->
 <zosLocalAdapters wolaGroup="GROUP" wolaName2="LIBRTOLA" wolaName3="WOLA3" />
 <connectionFactory id="wolaCF" jndiName="eis/ola">
     <properties.ola RegisterName=CICSMLAW/>
 </connectionFactory>
 <resourceAdapter location="/usr/lpp/IBM/zosconnect/v2r0/wlp/lib/ola.rar"/>

在消息中。日志,我在那里看到好的和坏的项目:

CWWKB0103I:授权服务组WOLA可用使用以下名称在Liberty配置文件服务器注册的WebSphere Optimized Local Adapter通道:GROUP LIBRTOLA WOLA3

坏消息是:

com.ibm.ws.app.manager.AppMessageHelperCWWKZ0013E:无法启动两个名为ola的应用程序。

因此,注册失败: 请求: 97 请求值数据 1: BBOC START_SRVR RGN = CICSMLA DGN= 组 NDN = LIBRTOLA 请求parms 数据 2: SVN = WOLA3 SVC = MNC= 1 MXC =10 TXN= N SEC= N REU = N 请求值数据 3: 处理启动服务器请求。正在启动 WAS 适配器服务器任务 ...服务器事务 ID 将为: BBO$ 链接事务默认为: BBO# 服务名称将为:跟踪 TDQ:BBOQ 处理注册 API 请求。寄存器名称: CICSMLA 字符串 len: 7 WAS 守护程序: 组 WAS 节点: LIBRTOLA WAS 服务器: WOLA3 最小连接数: 1 最大连接数: 10 事务性: N 字符串 len: 1 安全传播: N 字符串 len: 1 调用 CICSMLA 的 OLA 寄存器 API 。在 上使用 Liberty 概要文件服务器未成功。返回码为 8,原因码为 8。

JNDI 调用中的失败:

Context ctx = new InitialContext(); 
ConnectionFactory cf = (com.ibm.ws390.ola.jca.ConnectionFactoryImpl)ctx.lookup("java:comp/env/eis/ola");

错误结果:

[err] javax.naming.NameNotFoundException: javax.naming.NameNotFoundException: java:comp/env/eis/ola
[err] at com.ibm.ws.jndi.url.contexts.javacolon.internal.JavaURLContext.lookup(JavaURLContext.java:356) [err] at [internal classes]
[err] at javax.naming.InitialContext.lookup(InitialContext.java:428)
[err] at com.ibm.ctl.bank.impls.CTLBankWolaImpl.(CTLBankWolaImpl.java:51)
[err] at com.ibm.ctl.bank.web.OLTPBankRest.setImpl(OLTPBankRest.java:235) 

谢谢

共有1个答案

张敏达
2023-03-14

你在这里有很多事情要做。

我不知道为什么要从Liberty服务器内部的z/OS Connect v2产品开始ola.rar。zosLocalAdapters-1.0功能已经加载了Liberty随附的ola.rar。您应该从server.xml.中删除配置,这应该可以解决CWWKZ0013E错误。

您应该在messages.log中看到两条CWWKB0103I消息,一条是针对WOLA(您包含在内)的,一条是针对CLIENT.WOLA的。请确保您看到了这两条消息。很有可能你使用的是旧版本的Liberty,它不会打印第二条消息,所以如果这是真的,请忽略这一部分。

如果没有在知识中心找到 Liberty 服务器的 WOLA 配置说明,我不认为您会走到这一步,但在这里,它们是为了其他人的利益:

https://www.ibm.com/support/knowledgecenter/en/was_beta_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/twlp_dat_enableconnector.html

接下来,我无法看到您的应用程序,以了解您是否配置了对连接工厂的资源引用。我假设你这样做是因为你正在做一个java:comp/env查找。你不需要强制转换为 com.ibm.ws390.ola.jca.连接工厂简化程序,实际上我强烈建议删除它,因为它是一个内部类,随时可能更改。可能是应用程序类装入器无权访问该类,这可能是问题的一部分。

最后,您在 CICS 启动链接服务器时遇到问题。您将获得 RC=8 RSN=8。可在此处找到服务和退货/原因代码的列表:

https://www.ibm.com/support/knowledgecenter/en/was_beta_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/rwlp_dat_olaapis.html

BBOA1REG(寄存器)上的8/8表示寄存器令牌已经在使用中。基本上,您选择的RGN=名称已经在使用中。您确定CICS区域中没有已经用该名称注册的PLTPI交易或其他东西吗?也许尝试一个不同的名称只是为了看看它是否有效,如果有效,也许尝试BBOCLIST_SRVR看看它是什么?如果不了解您的html" target="_blank">html" target="_blank">系统,很难说它是如何开始的。

我希望这有所帮助。保重!

 类似资料:
  • 问题内容: 我正在寻找一种在Java App(使用JDBC)中打开Access MDB文件的方法。 快速的Google搜索建议我为此需要JDBC-ODBC Bridge。 这是否意味着我需要配置要在其上运行应用程序的每个系统,以便为要打开的MDB提供ODBC DSN? 还有一个问题(因为我以前从未使用过ODBC):通信是通过某种套接字(以客户机/服务器方式)还是通过方法/函数调用(例如嵌入Derb

  • 本文向大家介绍nodejs中使用monk访问mongodb,包括了nodejs中使用monk访问mongodb的使用技巧和注意事项,需要的朋友参考一下 安装mongodb 我觉得还是用mannual install靠谱一点儿:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/ 启动mongodb 连接mogodb 在no

  • 我正在尝试使用Gulp从主目录复制所选文件,但以下操作无法完成此操作: 什么是正确的设置为使其工作?文档对此非常简洁。

  • 问题内容: 我正在使用Access,并尝试复制在MSDN上发现的某些语法。不幸的是,Access语法中的FROM语句似乎有问题。我不知道为什么。 问题答案: MS Access中枢转的语法与sql server不同。您必须使用该功能来旋转数据。 语法将类似于以下内容:

  • 我有保管项类型“绥靖”,它包含枚举类型“绥靖状态”的属性“绥靖状态”。 对于客户支持代理组,我们没有对项目类型“绥靖”的写访问权限,但我想提供对属性“绥靖状态”的写访问权限。我在弹劾x下创建,但这不是作为例外工作。有什么想法缺失吗?

  • 本文向您展示如何创建 Kubernetes Service 对象,外部客户端可以使用它来访问集群中运行的应用程序。该 Service 可以为具有两个运行实例的应用程序提供负载均衡。 目的 运行 Hello World 应用程序的两个实例。 创建一个暴露 node 节点端口的 Service 对象。 使用 Service 对象访问正在运行的应用程序。 为在两个 pod 中运行的应用程序创建 serv