You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by sujeet bansal <ba...@purdue.edu> on 2010/11/24 23:56:55 UTC

NoSuchMethodError on web service call

Hello,

    I have deployed daytrader-2.2 application
on geronimo-jetty7-javaee5-2.2. I am using jdk 1.5. The application deploys
and works in Standard access mode without any errors.

    Though it gives NoSuchMethodError in web service mode. This is the stack
trace that i get.
  2010-11-24 17:35:46,200 ERROR [log] Error for /daytrader/app
java.lang.NoSuchMethodError:
org.apache.geronimo.axis.client.ServiceImpl.getTradeWSServices()Lorg/apache/geronimo/samples/daytrader/client/ws/TradeWSServices;
        at
org.apache.geronimo.axis.client.ServiceImpl$$EnhancerByCGLIB$$1d3568e8_6.getTradeWSServices(<generated>)
        at
org.apache.geronimo.samples.daytrader.soap.TradeWebSoapProxy.getPortFromFactory(TradeWebSoapProxy.java:69)
        at
org.apache.geronimo.samples.daytrader.soap.TradeWebSoapProxy.getTrade(TradeWebSoapProxy.java:48)
        at
org.apache.geronimo.samples.daytrader.soap.TradeWebSoapProxy.<init>(TradeWebSoapProxy.java:42)
        at
org.apache.geronimo.samples.daytrader.web.TradeServletAction.<init>(TradeServletAction.java:51)
        at
org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:117)
        at
org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doGet(TradeAppServlet.java:82)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
        at
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:530)
        at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1211)
        at
org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:103)
        at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1182)
        at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:424)
        at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:118)
        at
org.eclipse.jetty.server.session.SessionHandler.handle(SessionHandler.java:179)
        at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:930)
        at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:361)
        at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:864)
        at
org.apache.geronimo.jetty7.handler.GeronimoWebAppContext.doScope(GeronimoWebAppContext.java:107)
        at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:116)
        at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:243)
        at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
        at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:112)
        at org.eclipse.jetty.server.Server.handle(Server.java:337)
        at
org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:552)
        at
org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:979)
        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:533)
        at
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:203)
        at
org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:399)
        at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:437)
        at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
        at
org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
        at java.lang.Thread.run(Thread.java:595)


     I searched for NoSuchMethodError and found that it gets caught at
compile time mostly and is raised at run-time mostly due to jar files
mismatch. Class org.apache.geronimo.axis.client.ServiceImpl is present in
geronimo-axis-2.2.jar. I found same jar file in compile(downloaded by maven)
and run-time (bundled in geronimo) environment.

    Please help me fix this issue.

Thanks and Regards,
Sujeet

Re: NoSuchMethodError on web service call

Posted by sujeet <ba...@purdue.edu>.
After looking at similar problems in forums i think this is a class loader
issue. A new class is generated by cglib but classloader is still using the
old class.What can i do to make it pick the new class?
-- 
View this message in context: http://apache-geronimo.328035.n3.nabble.com/NoSuchMethodError-on-web-service-call-tp1963760p2011920.html
Sent from the Users mailing list archive at Nabble.com.

Re: NoSuchMethodError on web service call

Posted by sujeet <ba...@purdue.edu>.
Should class ServiceImpl$$EnhancerByCGLIB be generated at compile time or run
time?
I could not find it in any of the jars. 
org.apache.geronimo.axis.client.ServiceImpl exist in geronimo-axis-2.2.jar
though.

-- 
View this message in context: http://apache-geronimo.328035.n3.nabble.com/NoSuchMethodError-on-web-service-call-tp1963760p1986643.html
Sent from the Users mailing list archive at Nabble.com.