gpt4 book ai didi

java - 在 Liberty WebApp 中使用 WOLA 访问 CICS

转载 作者:行者123 更新时间:2023-11-30 02:19:22 25 4
gpt4 key购买 nike

尝试直接从 Liberty 中的 Web 应用程序使用 WOLA 到 CICS。成功地将相同的 CICS 区域与 z/OS Connect V2 (zCEE) 结合使用。使用 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"/>

在 messages.log 中,我看到了好的和坏的项目:

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

坏处:

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

因此注册失败:RequeSTLgth:97请求参数数据 1:BBOC START_SRVR RGN=CICSMLA DGN=GROUP NDN=LIBRTOLA请求参数数据 2:SVN=WOLA3 SVC= MNC=1 MXC=10 TXN=N SEC=N REU=N请求参数数据 3:处理 START SERVER 请求。正在启动 WAS 适配器服务器任务...服务器事务 ID 将为:BBO$链接交易默认为:BBO#服务名称将是:追踪 TDQ: BBOQ处理 REGISTER API 请求。寄存器名称:CICSMLA 字符串长度:7WAS 守护进程:GROUP WAS 节点:LIBRTOLA WAS 服务器:WOLA3分钟。连接数:1最大限度。连接数:10事务性:N 字符串长度:1安全传播:N 字符串长度: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)

谢谢

最佳答案

这里发生了很多事情。

我不确定您为什么要从 Liberty 服务器内部的 z/OS Connect v2 产品启动 ola.rar。 zosLocalAdapters-1.0 功能部件已加载 Liberty 附带的 ola.rar。您应该从 server.xml 中删除该配置。这应该可以解决 CWWKZ0013E 错误。

您应该在 messages.log 中看到两条 CWWKB0103I 消息,一条针对 WOLA(您已包含),另一条针对 CLIENT.WOLA。请确保您看到两者。您可能使用的是非常旧的 Liberty 版本,它不会打印第二条 CWWKB0103I 消息,因此如果这是真的,请忽略该部分。

如果没有在知识中心找到 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.ConnectionFactoryImpl,实际上我强烈建议删除它,因为它是一个内部类,并且可能随时更改。应用程序类加载器可能无法访问该类,这可能是问题的一部分。

最后,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 表示寄存器 token 已在使用中。基本上,您选择的 RGN= 名称已被使用。您确定 CICS 区域中没有已使用该名称注册的 PLTPI 事务或其他事务吗?也许尝试一个不同的名称只是为了看看它是否有效,如果有效,也许可以尝试 BBOC LIST_SRVR 看看它是什么?如果不了解更多关于您的系统的信息,很难说它是如何开始的。

我希望这有帮助。保重!

关于java - 在 Liberty WebApp 中使用 WOLA 访问 CICS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47296464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com