Search code examples
javaweb-servicesapache-axisnoclassdeffounderror

Axis returns error java.lang.NoClassDefFoundError


I have an axis2-based web-service which calls another WebService to get some data. While trying to invoke another service somewhere inside axis2(I can not say exactly where because it's inside some axis2 class) error occurs and gets returned as response:

java.lang.NoClassDefFoundError: org/apache/axis2/jaxws/catalog/impl/OASISCatalogManager

So I guess I don't have some library or class installed.

Inside my folder WebService\WebContent\WEB-INF\classes\org\apache\axis2 I see 2 folders: Transport and WebApp.

As I know that class has to be inside axis2-metadata.jar and I've checked - I have "axis2-metadata-1.7.1.jar" in my classpath. So I've I've took jaxws/catalog/...etc... folders, containig missing classes (I guess), and put it inside axis2 folder just like transport and webapp, but error remains.

There's callstack of my error:

[ERROR] org/apache/axis2/jaxws/catalog/impl/OASISCatalogManager
java.lang.NoClassDefFoundError: org/apache/axis2/jaxws/catalog/impl/OASISCatalog
Manager
        at org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl.<init>
(ServiceDescriptionImpl.java:203)
        at org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl.<init>
(ServiceDescriptionImpl.java:172)
        at org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl.create
ServiceDescription(DescriptionFactoryImpl.java:134)
        at org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl.create
ServiceDescription(DescriptionFactoryImpl.java:79)
        at org.apache.axis2.jaxws.description.DescriptionFactory.createServiceDe
scription(DescriptionFactory.java:78)
        at org.apache.axis2.jaxws.spi.ServiceDelegate.<init>(ServiceDelegate.jav
a:218)
        at org.apache.axis2.jaxws.spi.Provider.createServiceDelegate(Provider.ja
va:83)
        at org.apache.axis2.jaxws.spi.Provider.createServiceDelegate(Provider.ja
va:79)
        at javax.xml.ws.Service.<init>(Unknown Source)
        at com.opentext.livelink.service.core.Authentication_Service.<init>(Auth
entication_Service.java:42)
        at com.opentext.livelink.service.fnc.ECMCleansingUtilsSkeleton.GetAuthTo
ken(ECMCleansingUtilsSkeleton.java:201)
        at com.opentext.livelink.service.fnc.ECMCleansingUtilsSkeleton.getWSIDLi
stByDPIDList(ECMCleansingUtilsSkeleton.java:88)
        at com.opentext.livelink.service.fnc.ECMCleansingUtilsMessageReceiverInO
ut.invokeBusinessLogic(ECMCleansingUtilsMessageReceiverInOut.java:51)
        at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusines
sLogic(AbstractInOutMessageReceiver.java:40)
        at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMe
ssageReceiver.java:106)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:169)
        at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostReq
uest(HTTPTransportUtils.java:176)
        at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:1
63)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:210)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52
)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:222)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:123)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
torBase.java:502)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:171)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:100)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
953)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:409)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp
11Processor.java:1044)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(
AbstractProtocol.java:607)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoin
t.java:313)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

What should I do? Should I somehow configure axis2 to use those class files?


Solution

  • Looks like you miss the axis2-metadata.jar in your classpath. Add it and the error should gone.