6 Replies Latest reply on Jan 20, 2012 7:47 PM by skethire

    Teiid 8.0 alpha1 - using adminapi causes NoClassDefFoundError: org/jboss/as/cli/operation/OperationRequestAddress

    skethire

      I am a newbie to JBoss as well as Teiid. 

       

      I have deployed an application that uses Teiid adminapi.

      When the application tries to list the vdbs using the admin api, I got the following exception:

       

      18:15:44,587 SEVERE [com.sun.jersey.spi.container.ContainerResponse] (http--127.0.0.1-8080-1) The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container: java.lang.NoClassDefFoundError: org/jboss/as/cli/operation/OperationRequestAddress

      at com.lgc.dsl.services.producer.teiid.TeiidAdminManager.getAdmin(TeiidAdminManager.java:43) [com_lgc_dsdataserver.jar:]

      at com.lgc.dsl.services.producer.teiid.TeiidAdminManager.getModels(TeiidAdminManager.java:77) [com_lgc_dsdataserver.jar:]

      at com.lgc.dsl.services.producer.LgcModelsProducer.getModels(LgcModelsProducer.java:75) [com_lgc_dsdataserver.jar:]

      at com.lgc.dsl.services.producer.resources.LgcServiceDocumentResource.getServiceDocument(LgcServiceDocumentResource.java:37) [com_lgc_dsdataserver.jar:]

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_18]

      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_18]

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_18]

      at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_18]

      at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:168) [odata4j-bundle-0.5-lgc.jar:]

      at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67) [odata4j-bundle-0.5-lgc.jar:]

      at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:259) [odata4j-bundle-0.5-lgc.jar:]

      at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:83) [odata4j-bundle-0.5-lgc.jar:]

      at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:133) [odata4j-bundle-0.5-lgc.jar:]

      at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:71) [odata4j-bundle-0.5-lgc.jar:]

      at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:990) [odata4j-bundle-0.5-lgc.jar:]

      at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:941) [odata4j-bundle-0.5-lgc.jar:]

      at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:932) [odata4j-bundle-0.5-lgc.jar:]

      at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:384) [odata4j-bundle-0.5-lgc.jar:]

      at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:451) [odata4j-bundle-0.5-lgc.jar:]

      at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:632) [odata4j-bundle-0.5-lgc.jar:]

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]

      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.7.Final.jar:]

      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.7.Final.jar:]

      at com.lgc.dsl.services.UrlFilter.doFilter(UrlFilter.java:56) [com_lgc_dsdataserver.jar:]

      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.7.Final.jar:]

      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.7.Final.jar:]

      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.7.Final.jar:]

      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.7.Final.jar:]

      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:489) [jbossweb-7.0.7.Final.jar:]

      at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.0.CR1b.jar:7.1.0.CR1b]

      at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:151) [jboss-as-web-7.1.0.CR1b.jar:7.1.0.CR1b]

      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.7.Final.jar:]

      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.7.Final.jar:]

      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.7.Final.jar:]

      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [jbossweb-7.0.7.Final.jar:]

      at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:897) [jbossweb-7.0.7.Final.jar:]

      at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:626) [jbossweb-7.0.7.Final.jar:]

      at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:2033) [jbossweb-7.0.7.Final.jar:]

      at java.lang.Thread.run(Thread.java:619) [:1.6.0_18]

       

      In order to fix the issue, I modified the <JBoss7.1.0_CR1b_Root>/modules/org/jboss/teiid/main/module.xml and added org.jboss.as.cli module dependency to it.

      After adding this dependency, my application ran successfully and listed the vdbs.

       

      My questions:

      1.  Is this the right approach? 

      2.  If yes, are you going to add this dependency to the module in a future drop?

      3.  If not, what is the right approach to resolve this dependency?

       

      Thanks in advance