Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    RESTHandler NumberFormatException

    Hello, while testing a REST API based on RESTHandler, I noticed that if I put a string in a criteria where a number is expected, I obtain an exception:

    Code:
    2025-03-24T15:35:30,565 [ ] WARN JasRESTHandler entra in doPost
    2025-03-24T15:35:33,601 [ ] WARN JasRESTHandler entra in processRequest, metodo = POST
    2025-03-24T15:35:33,617 [ ] INFO JasRESTHandler Handling REST request
    2025-03-24T15:35:33,649 [ ] DEBUG RestRequestParser Parsing json object: '{
        "dataSource": "TAG_CATALOGO_NAZIONI_JAS",
        "operationId": "updateTSPrelievoTagNazioniAkeron",
        "operationType": "update",
        "data": {
            "ID_NAZIONE_FK": ["foobar"],
            "TIMESTAMP_PRELIEVO_TAGETIK": "2025-03-11T13:05:24"
        }
    }'
    2025-03-24T15:35:33,655 [ ] ERROR JasRESTHandler com.juve.jas.JasRESTHandler top-level exception
    java.lang.NumberFormatException: For input string: "foobar"
        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) ~[?:?]
        at java.lang.Long.parseLong(Long.java:692) ~[?:?]
        at java.lang.Long.valueOf(Long.java:1144) ~[?:?]
        at com.isomorphic.rpc.RestRequestParser.convertValueToSchemaType(RestRequestParser.java:982) ~[isomorphic-core-rpc-13.1-d20240905.jar:?]
        at com.isomorphic.rpc.RestRequestParser.convertStringsToSchemaType(RestRequestParser.java:928) ~[isomorphic-core-rpc-13.1-d20240905.jar:?]
        at com.isomorphic.rpc.RestRequestParser.parseRequest(RestRequestParser.java:732) ~[isomorphic-core-rpc-13.1-d20240905.jar:?]
        at com.isomorphic.rpc.RPCManager.<init>(RPCManager.java:495) ~[isomorphic-core-rpc-13.1-d20240905.jar:?]
        at com.isomorphic.servlet.RESTHandler.processRequest(RESTHandler.java:581) [isomorphic-core-rpc-13.1-d20240905.jar:?]
        at com.juve.jas.JasRESTHandler.processRequest(JasRESTHandler.java:126) [classes/:build]
        at com.isomorphic.servlet.RESTHandler.doPost(RESTHandler.java:486) [isomorphic-core-rpc-13.1-d20240905.jar:?]
        at com.juve.jas.JasRESTHandler.doPost(JasRESTHandler.java:98) [classes/:build]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:661) [servlet-api.jar:?]
        at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:178) [isomorphic-core-rpc-13.1-d20240905.jar:?]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) [servlet-api.jar:?]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [catalina.jar:8.5.39]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.39]
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-websocket.jar:8.5.39]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.39]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.39]
        at com.juve.spring.FrameOriginFilter.doFilter(FrameOriginFilter.java:36) [classes/:build]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.39]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.39]
        at com.juve.utils.Log4j2SessionFilter.doFilter(Log4j2SessionFilter.java:72) [classes/:build]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.39]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.39]
        at com.isomorphic.servlet.CompressionFilter._doFilter(CompressionFilter.java:263) [isomorphic-core-rpc-13.1-d20240905.jar:?]
        at com.isomorphic.servlet.BaseFilter.doFilter(BaseFilter.java:91) [isomorphic-core-rpc-13.1-d20240905.jar:?]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.39]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.39]
        at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:209) [spring-security-web-5.1.6.RELEASE.jar:5.1.6.RELEASE]
        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) [spring-security-web-5.1.6.RELEASE.jar:5.1.6.RELEASE]
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357) [spring-web-5.1.6.RELEASE.jar:5.1.6.RELEASE]
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270) [spring-web-5.1.6.RELEASE.jar:5.1.6.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.39]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.39]
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) [spring-web-5.1.6.RELEASE.jar:5.1.6.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.6.RELEASE.jar:5.1.6.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.39]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.39]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) [catalina.jar:8.5.39]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [catalina.jar:8.5.39]
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) [catalina.jar:8.5.39]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) [catalina.jar:8.5.39]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [catalina.jar:8.5.39]
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660) [catalina.jar:8.5.39]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [catalina.jar:8.5.39]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [catalina.jar:8.5.39]
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798) [tomcat-coyote.jar:8.5.39]
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-coyote.jar:8.5.39]
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806) [tomcat-coyote.jar:8.5.39]
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) [tomcat-coyote.jar:8.5.39]
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:8.5.39]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.5.39]
        at java.lang.Thread.run(Thread.java:834) [?:?]
    this is different from a normal DSRequest where the value is discarded. Is this behaviour expected?
Working...
X