尝试从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可用使用以下名称向Liberty概要文件服务器注册的WebSphere优化本地适配器通道:GROUP LIBRTOLA WOLA3
和坏:
com.ibm.ws.app.manager.AppMessageHelper E CWWKZ0013E:无法启动两个名为ola的应用程序。
因此注册失败:Requestlgth:97 Requestparms数据1:BBOC START_SRVR RGN = CICSMLA DGN = GROUP NDN = LIBRTOLA Requestparms数据2:SVN = WOLA3 SVC = MNC = 1 MXC = 10 TXN = N SEC = N REU = N Requestparms数据3: 处理START SERVER请求。 启动WAS适配器服务器任务... 服务器事务ID将为:BBO $ 链接事务默认为:BBO# 服务名称将是: 跟踪TDQ:BBOQ 处理REGISTER API请求。 注册名称:CICSMLA字符串len:7 WAS守护程序:GROUP WAS节点:LIBRTOLA WAS服务器:WOLA3 闵。连接:1 最大。连接:10 交易:N字符串len:1 安全传播:N字符串len:1 为CICSMLA调用OLA Register 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)
由于
答案 0 :(得分:2)
你在这里有很多事情。
我不确定您为什么要从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配置说明,我认为你不会这么做,但这里有其他好处:
接下来好了,我看不到你的应用程序知道你是否有配置连接工厂的资源引用。我假设你这样做是因为你正在做一个java:comp / env查找。您不需要强制转换为com.ibm.ws390.ola.jca.ConnectionFactoryImpl,实际上我强烈建议删除它,因为这是一个内部类,并且可能随时更改。可能是应用程序类加载器无法访问该类,这可能是问题的一部分。
最后,您在启动链接服务器的CICS中遇到问题。你得到RC = 8 RSN = 8。可在此处找到服务和退货/原因代码列表:
BBOA1REG(寄存器)上的8/8表示寄存器令牌已被使用。基本上,您选择的RGN =名称已被使用。您确定CICS区域中没有PLTPI事务或其他已经使用该名称注册的事务吗?也许尝试一个不同的名称只是为了看看它是否有效,如果确实如此,也许可以试试BBOC LIST_SRVR看看它是什么?如果不了解您的系统,很难说它是如何开始的。
我希望这会有所帮助。小心!