Question

I'm getting strange error while using ojdbc6.jar with spatial data. Stack trace says class definition not found XMLType. But xdb6.jar is required only in case of xml to db. However I'm not dealing with xml to db stuff anywhere in code. Here is the stack trace. could you please give me insight, oneway is to copy the xdb6.jar but I do not want copy that file since I'm not using xml to db

org.apache.cxf.interceptor.Fault: oracle/xdb/XMLType

    at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:162) ~[cxf-api-2.7.5.jar:2.7.5]

    at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:213) ~[cxf-rt-frontend-jaxws-2.7.5.jar:2.7.5]

    at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:128) ~[cxf-api-2.7.5.jar:2.7.5]

    at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.invoke(AbstractJAXWSMethodInvoker.java:178) ~[cxf-rt-frontend-jaxws-2.7.5.jar:2.7.5]

    at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:68) ~[cxf-rt-frontend-jaxws-2.7.5.jar:2.7.5]

    at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75) ~[cxf-api-2.7.5.jar:2.7.5]

    at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58) ~[cxf-api-2.7.5.jar:2.7.5]

    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) ~[na:1.7.0_09-icedtea]

    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) ~[na:1.7.0_09-icedtea]

    at java.util.concurrent.FutureTask.run(FutureTask.java:166) ~[na:1.7.0_09-icedtea]

    at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37) ~[cxf-api-2.7.5.jar:2.7.5]

    at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:107) ~[cxf-api-2.7.5.jar:2.7.5]

    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271) ~[cxf-api-2.7.5.jar:2.7.5]

    at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) [cxf-api-2.7.5.jar:2.7.5]

   at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239) [cxf-rt-transports-http-2.7.5.jar:2.7.5]

    at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223) [cxf-rt-transports-http-2.7.5.jar:2.7.5]

    at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:203) [cxf-rt-transports-http-2.7.5.jar:2.7.5]

    at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137) [cxf-rt-transports-http-2.7.5.jar:2.7.5]

    at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:158) [cxf-rt-transports-http-2.7.5.jar:2.7.5]

    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:243) [cxf-rt-transports-http-2.7.5.jar:2.7.5]

    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:163) [cxf-rt-transports-http-2.7.5.jar:2.7.5]

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) [tomcat6-servlet-2.5-api-6.0.24.jar:na]

    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:219) [cxf-rt-transports-http-2.7.5.jar:2.7.5]

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) [catalina-6.0.24.jar:na]

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina-6.0.24.jar:na]

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) [catalina-6.0.24.jar:na]

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [catalina-6.0.24.jar:na]

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [catalina-6.0.24.jar:na]

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [catalina-6.0.24.jar:na]

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [catalina-6.0.24.jar:na]

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) [catalina-6.0.24.jar:na]

    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857) [tomcat-coyote-6.0.24.jar:na]

    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) [tomcat-coyote-6.0.24.jar:na]

    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) [tomcat-coyote-6.0.24.jar:na]

    at java.lang.Thread.run(Thread.java:722) [na:1.7.0_09-icedtea]

Caused by: java.lang.NoClassDefFoundError: oracle/xdb/XMLType

    at oracle.jdbc.driver.NamedTypeAccessor.getString(NamedTypeAccessor.java:355) ~[tomcat6/:na]

    at oracle.jdbc.driver.GeneratedStatement.getString(GeneratedStatement.java:327) ~[tomcat6/:na]

    at oracle.jdbc.driver.GeneratedScrollableResultSet.getString(GeneratedScrollableResultSet.java:882) ~[tomcat6/:na]

    at org.apache.commons.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:213) ~[commons-dbcp-1.4.jar:1.4]

    at org.apache.commons.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:213) ~[commons-dbcp-1.4.jar:1.4]

    at org.apache.ibatis.logging.jdbc.ResultSetLogger.printColumnValues(ResultSetLogger.java:84) ~[mybatis-3.1.1.jar:3.1.1]

    at org.apache.ibatis.logging.jdbc.ResultSetLogger.invoke(ResultSetLogger.java:56) ~[mybatis-3.1.1.jar:3.1.1]

    at $Proxy54.next(Unknown Source) ~[na:na]

    at org.apache.ibatis.executor.resultset.FastResultSetHandler.shouldProcessMoreRows(FastResultSetHandler.java:221) ~[mybatis-3.1.1.jar:3.1.1]

    at org.apache.ibatis.executor.resultset.FastResultSetHandler.handleRowValues(FastResultSetHandler.java:212) ~[mybatis-3.1.1.jar:3.1.1]

    at org.apache.ibatis.executor.resultset.FastResultSetHandler.handleResultSet(FastResultSetHandler.java:186) ~[mybatis-3.1.1.jar:3.1.1]

    at org.apache.ibatis.executor.resultset.FastResultSetHandler.handleResultSets(FastResultSetHandler.java:152) ~[mybatis-3.1.1.jar:3.1.1]

    at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:57) ~[mybatis-3.1.1.jar:3.1.1]

    at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:70) ~[mybatis-3.1.1.jar:3.1.1]

    at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:57) ~[mybatis-3.1.1.jar:3.1.1]

    at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:267) ~[mybatis-3.1.1.jar:3.1.1]

    at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:141) ~[mybatis-3.1.1.jar:3.1.1]

    at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:105) ~[mybatis-3.1.1.jar:3.1.1]

    at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:81) ~[mybatis-3.1.1.jar:3.1.1]

    at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:101) ~[mybatis-3.1.1.jar:3.1.1]

    at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:95) ~[mybatis-3.1.1.jar:3.1.1]

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_09-icedtea]

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_09-icedtea]

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_09-icedtea]

    at java.lang.reflect.Method.invoke(Method.java:601) ~[na:1.7.0_09-icedtea]

    at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:355) ~[mybatis-spring-1.1.1.jar:1.1.1]

    at $Proxy58.selectList(Unknown Source) ~[na:na]

    at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:195) ~[mybatis-spring-1.1.1.jar:1.1.1]

    at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:124) ~[mybatis-3.1.1.jar:3.1.1]

    at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:90) ~[mybatis-3.1.1.jar:3.1.1]

    at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:40) ~[mybatis-3.1.1.jar:3.1.1]

    at $Proxy59.getBeamScallopingData(Unknown Source) ~[na:na]
Was it helpful?

Solution

Short story: You're going to need to include the XDB library.

Long story: If you dig into it, you'll find that the cause of the NoClassDefFoundError is that one of the classes you're using (either your direct use or indirectly) will reference the XMLType class.

Even if you're not using XMLType, the class must be present on the classpath for the class you actually are using to be loaded.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top