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

用于使用资源适配器调用大型机的 Jboss CICS 交互

裘安阳
2023-03-14

我已经在Jboss EAP 6.2上安装了cicseci.rar。这个资源适配器是从http://www-01.ibm.com/support/docview.wss?下载的uid = swg 24008817 # s hash . 3k 4 M8 smo . dpuf

然而,在运行我的简单代码时,我得到了这个错误-

  Exception Logged by: com.ibm.connector2.cics.ECIInteraction

com.ibm.connector2.cics.CICSUserInputException: CTG9628E
InteractionSpec passed to execute() not of type ECIInteractionSpec
  at com.ibm.connector2.cics.ECIInteraction.execute(Unknown Source)
  at com.sample.checkstate.CICSPing.getIt(CICSPing.java:48)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:597)
  at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
  at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispat
  at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
  at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
  at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
  at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
  at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
  at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
  at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
  at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
  at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
  at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
  at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
  at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
  at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145)
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336)
  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
  at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)
  at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920)
  at java.lang.Thread.run(Thread.java:662)

有人对此有什么见解吗?

共有1个答案

濮阳烨然
2023-03-14

我正面临着同样的问题,经过大量研究,我发现ECIInteractionSpec类存在于2个jars-cicsj2ee中。jar和ctgclient。而ctgclient是部署cicseci的一部分。rar,cicsj2ee不是。因此,在运行时,jboss服务器尝试在ECIInteraction中映射ctgclient的类。这实际上应该取自cicsj2ee。

解决方案是创建一个模块,并在那里包括所有与ctg相关的罐子 -

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="org.cics">
<resources>
<!-- Modules -->
<resource-root path="cicseci.jar" />
<resource-root path="cicsframe.jar"/>
<resource-root path="cicsj2ee.jar" />
<resource-root path="ctgclient.jar" />
<resource-root path="ctgserver.jar" />
</resources>
<dependencies>
    <module name="javax.api" />
    <module name="javax.resource.api"/>
</dependencies>
</module>

这应该作为模块加载器提供给cics rar部署。您可以将它作为jboss-deployment-structure.xml的一部分,或者作为standalone.xml中的一个全局模块。希望对你也有帮助。

 类似资料:
  • 我试图从Wildfly9连接到Websphere MQ,为此我添加了一个独立的资源适配器-full.xml 我已经添加了配置属性并删除了它们添加了不同的属性,这些属性看起来可能很有用,比如use-java-context=“true”pool-name=“jmsConnectionFactory”use-ccm=“true”删除了它们或使它们为false,更改了jndi名称,但它一直给我相同的结果

  • 我一直在努力让COBOL和Java在大型机上相互交互,但在cob2编译器上遇到了麻烦,它是大型机上的Unix等价物。 我还没有在网上看到过很多关于这个编译器的用户体验,所以我想知道如果我问一个更直接的问题,人们会透露他们的洞察力。 IBM有几个Java直接或间接调用COBOL dll的示例,但它们最终归结为将COBOL编译为dll,使用System.Load,编译Java并运行。这些例子对我来说不

  • I am not a number. "The Prisoner" — Number Six 将机器搬来搬去是很常见的做法,尤其是在云的基础设施中搬动,所以一个特定主机的 IP 经常会改变。 正因为如此,在你的配置中使用硬编码的 IP 地址显然是个坏主意。 如果一台机器要访问另一台(例如,一个应用服务器需要访问一台数据库服务器), 那么使用主机名而不是 IP 地址会更好。 然而,如何映射主机名到

  • 适配器是一种特殊的库,它有一个父类和任意数量的子类。子类可以访问其父类元素,但不能访问其兄弟类的元素。在你的控制器中,适配器为类库提供了一种优雅的语法,因此类库会就此获益甚至会需要分解成离散的类。 适配器的源文件存放在system/libraries 目录下, 命名一个和类名字相同的文件夹,文件夹下存放该类。同时在该文件夹中,有一个子文件夹叫做 drivers在其中包含了所有的子类。 要使用一个适

  • 我用以下行创建了一个JackRabbit内容存储库实例: 现在我想在上面运行一个JCR浏览器。我尝试过不同的JCR探索者,比如JackrabbitExplorer和JCR探索者。但它们都与JNDI或基于web的存储库一起使用。 我的问题是如何在RepositoryImpl实例上运行JCR explorer。

  • 我试图用std::pmr::monotonic\u buffer\u资源创建共享指针,但我无法使其编译。我错过了什么? https://godbolt.org/z/R9jdju