我已经在 Jboss EAP 6.2 上安装了 cicseci.rar。该资源适配器是从下载的http://www-01.ibm.com/support/docview.wss?uid=swg24008817#sthash.3k4M8smo.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)
有人对此有任何见解吗?
我面临着同样的问题,经过大量研究,我发现 ECIInteractionSpec 类存在于 2 个 jar 中 - cicsj2ee.jar 和 ctgclient.jar 。虽然 ctgclient 是部署 cicseci.rar 的一部分,但 cicsj2ee 不是。因此,在运行时,jboss 服务器尝试在 ECIInteraction 中映射 ctgclient 的类。这实际上应该取自cicsj2ee。
解决方案是创建一个模块并在其中包含所有 ctg 相关的 jar -
<?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-struction.xml 的一部分或作为standalone.xml 中的全局模块包含在内。这为我解决了这个问题。希望它也能帮助你。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)