java - Making Asynchronous calls from a Spring controller gives error -


i trying fetch data internet within spring controller gives error.

aug 08, 2016 11:00:43 pm org.springframework.web.servlet.pagenotfound nohandlerfound warning: no mapping found http request uri [/thetest/%7b%7bimg%7d%7d] in dispatcherservlet name 'spring-dispatcher' aug 08, 2016 11:01:28 pm org.apache.catalina.core.standardwrappervalve invoke severe: servlet.service() servlet [spring-dispatcher] in context path [/thetest] threw exception [handler dispatch failed; nested exception java.lang.noclassdeffounderror: com/google/api/client/json/jsonfactory] root cause java.lang.classnotfoundexception: com.google.api.client.json.jsonfactory     @ org.apache.catalina.loader.webappclassloaderbase.loadclass(webappclassloaderbase.java:1891)     @ org.apache.catalina.loader.webappclassloaderbase.loadclass(webappclassloaderbase.java:1734)     @ com.indiacom.platform.util.utilclass.getdatafromfirebaseandmakeproject(utilclass.java:50)     @ com.indiacom.platform.controller.maincontroller.apprequest(maincontroller.java:64)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43)     @ java.lang.reflect.method.invoke(method.java:498)     @ org.springframework.web.method.support.invocablehandlermethod.doinvoke(invocablehandlermethod.java:221)     @ org.springframework.web.method.support.invocablehandlermethod.invokeforrequest(invocablehandlermethod.java:136)     @ org.springframework.web.servlet.mvc.method.annotation.servletinvocablehandlermethod.invokeandhandle(servletinvocablehandlermethod.java:114)     @ org.springframework.web.servlet.mvc.method.annotation.requestmappinghandleradapter.invokehandlermethod(requestmappinghandleradapter.java:827)     @ org.springframework.web.servlet.mvc.method.annotation.requestmappinghandleradapter.handleinternal(requestmappinghandleradapter.java:738)     @ org.springframework.web.servlet.mvc.method.abstracthandlermethodadapter.handle(abstracthandlermethodadapter.java:85)     @ org.springframework.web.servlet.dispatcherservlet.dodispatch(dispatcherservlet.java:963)     @ org.springframework.web.servlet.dispatcherservlet.doservice(dispatcherservlet.java:897)     @ org.springframework.web.servlet.frameworkservlet.processrequest(frameworkservlet.java:970)     @ org.springframework.web.servlet.frameworkservlet.dopost(frameworkservlet.java:872)     @ javax.servlet.http.httpservlet.service(httpservlet.java:650)     @ org.springframework.web.servlet.frameworkservlet.service(frameworkservlet.java:846)     @ javax.servlet.http.httpservlet.service(httpservlet.java:731)     @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:303)     @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:208)     @ org.apache.tomcat.websocket.server.wsfilter.dofilter(wsfilter.java:52)     @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:241)     @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:208)     @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:218)     @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:122)     @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:505)     @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:169)     @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:103)     @ org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:956)     @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:116)     @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:442)     @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1082)     @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:623)     @ org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:316)     @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1142)     @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:617)     @ org.apache.tomcat.util.threads.taskthread$wrappingrunnable.run(taskthread.java:61)     @ java.lang.thread.run(thread.java:745) 

this controller code:-

 @requestmapping(value = "/apprequest" ,method = requestmethod.post)    public modelandview apprequest(@requestbody jobid jobid) {       int id = jobid.getjobid();       getdatafrominternet(id); // method async        return new modelandview("myjspfile");     } 

edit :

this code causing exception inside getdatafrominternet() method:-

   try {             firebaseoptions options;             options = new firebaseoptions.builder()               .setserviceaccount(new fileinputstream("argus-61523ee837f8.json"))               .setdatabaseurl("https://argus-1442r.firebaseio.com/")               .build();             firebaseapp.initializeapp(options);          } catch (filenotfoundexception e) {             e.printstacktrace();         } 

the above firebase code described here.

these jar files using apart spring jars:-

enter image description here

please ask more information if required. new spring , unable resolve problem ,any highly appreciated. thanks.

you missing dependency in project, namely: com.google.api.client.json.jsonfactory

it looks adding pom.xml solve it:

<dependency>     <groupid>com.google.api-client</groupid>     <artifactid>google-api-client</artifactid>     <version>1.20.0</version> </dependency> 

Comments