在Liberty WebApp中使用WOLA来访问CICS

时间:2017-11-14 22:40:55

标签: java websphere-liberty cics

尝试从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) 

由于

1 个答案:

答案 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配置说明,我认为你不会这么做,但这里有其他好处:

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

我希望这会有所帮助。小心!