尝试直接从 Liberty 中的 Web 应用程序使用 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"/>
在 messages.log 中,我看到了好的和坏的项目:
CWWKB0103I: 授权服务组 WOLA 可用 WebSphere Optimized Local Adapter 通道使用以下名称注册到 Liberty Profile 服务器:GROUP LIBRTOLA WOLA3
和坏处:
com.ibm.ws.app.manager.AppMessageHelper E CWWKZ0013E: 无法启动两个名为 ola 的应用程序。
所以注册失败: Requestlgth: 97 Requestparms data 1: BBOC START_SRVR RGN=CICSMLA DGN=GROUP NDN=LIBRTOLA Requestparms data 2: SVN=WOLA3 SVC= MNC=1 MXC=10 TXN=N SEC=N REU=N Requestparms data 3:处理 START SERVER 请求。启动 WAS 适配器 服务器任务... 服务器事务 ID 将为:BBO$ 链接事务默认为:BBO# 服务名称将为:跟踪 TDQ:BBOQ 处理 REGISTER API 请求。注册名称:CICSMLA 字符串长度:7 WAS 守护进程: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)
谢谢