shalomweiss / mm-system-2017

MIT License
2 stars 2 forks source link

null exception in downloadFile in WEB client #74

Open NajibAbuSamra opened 6 years ago

NajibAbuSamra commented 6 years ago

it seems it's happening in an android service, but this happened when I logged in to the WEB client, any ideas what is happening?

SEVERE: Servlet.service() for servlet [mm.androidservice.download.DownloadFile] in context with path [/mm-database-2017] threw exception [Servlet execution threw an exception] with root cause java.lang.NullPointerException at java.io.Reader.(Unknown Source) at java.io.InputStreamReader.(Unknown Source) at mm.androidservice.common.JsonKeyMapper.(JsonKeyMapper.java:27) at mm.androidservice.download.ClientDownloadFile.(ClientDownloadFile.java:36) at mm.androidservice.download.DownloadFile.doGet(DownloadFile.java:60) at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:670) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source)

masterFoad commented 6 years ago

@NajibAbuSamra maybe the json is not added to the resources properly, I will look into it.

NajibAbuSamra commented 6 years ago

ok, but we are still calling ANDROID service from WEB client, is this ok?

danielzar2710 commented 6 years ago

it should work

NajibAbuSamra commented 6 years ago

what should work? calling android service from web or that my error shouldn't happen?

danielzar2710 commented 6 years ago

calling android service from web

danielzar2710 commented 6 years ago

shouldn't happen

danielzar2710 commented 6 years ago

you only entered and main page and that's it? @NajibAbuSamra

NajibAbuSamra commented 6 years ago

If I remember correctly it used to happen in mentor/mentee page as well, but now I don't get it anywhere, so it might be fixed, but I am getting this:

Downloading an object
Caught an AmazonServiceException, which means your request made it to Amazon S3, but was rejected with an error response for some reason.
Error Message:    The specified key does not exist. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey; Request ID: 902BCBB603807DC1; S3 Extended Request ID: ESk4QjcGj/mzBIjvH69Vt7K0s9Yil3NoJ5cdIH2Rnb2L9OTMFE8PftAgeytBuVYPxFkJobRtsjE=)
HTTP Status Code: 404
AWS Error Code:   NoSuchKey
Error Type:       Client
Request ID:       902BCBB603807DC1

I made sure my log.json and context.xml are correct, did something change? @masterFoad

danielzar2710 commented 6 years ago

it means that the server did not have the object i was looking for

masterFoad commented 6 years ago

@NajibAbuSamra @danielzar2710 When a request fails, The servlet returns a json response with the following format

{
"message":"some user-friendly message expressing the error",
"code":404
}

so please make sure to process the response. (so you don't have to check the console for error), you can use the returned message to display an error notification.