https://bz.apache.org/bugzilla/show_bug.cgi?id=62579
            Bug ID: 62579
           Summary: After update to Apache 9.0.10 gets a double error
           Product: Tomcat 9
           Version: 9.0.10
          Hardware: Other
                OS: Linux
            Status: NEW
          Severity: critical
          Priority: P2
         Component: Catalina
          Assignee: dev@tomcat.apache.org
          Reporter: genialja...@gmail.com
  Target Milestone: -----

Created attachment 36056
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=36056&action=edit
Logs and apache tomcat configuration files.

Fist of all we decided to update the Apache version from Apache Tomcat 7.0.62
to Apache Tomcat 9.0.10. This project is a web application based on AngularJS +
Apache Tomcat + Java + Spring Framework + MySQL

We had never seen an error like this. The most approximation we found in Google
about this is: https://github.com/jenkinsci/stashnotifier-plugin/issues/84

Where the solution is update the httpcore jar, that we did it and not work for
us.

Note: full error trace at the end.

Our application works fine except at this point, where we get two errors, the
first error is:

Handler dispatch failed; nested exception is java.lang.NoSuchMethodError:
org.apache.http.impl.conn.PoolingHttpClientConnectionManager.setValidateAfterInactivity(I)V

After this if you refresh the page in the browser you get this second error:

Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError:
Could not initialize class org.apache.http.client.fluent.Executor

You can see this at this URL in our application:

https://registro.servidorddg.com/api/services/events/62/online-payment?temporalDataId=20008&amount=5.0&paymentGatewayId=19&lang=es

Remember that this not happen in Apache Tomcat 7.0.62.

Basically, this section of the code of our application differs of the rest
because here we do a POST call to a external service (URL) from the BACK-END.

Java>

JSONObject json = postToApi( formAction, parameters );

 /**
         * initiates HTTP POST toward the API (via {@link HttpClient})
(outgoing request)
         * 
         * @param url
         * @param paramMap
         * @return the response as a parsed JSONObject
         * 
         * @throws PostToApiException
         */
        public static JSONObject postToApi(final String url, final Map<String,
String> paramMap) throws PostToApiException {

                final List<NameValuePair> paramList;
                final String apiResponseStr;

                try {
                        Utilities.log( "postToApi paramMap ---" );

                        for (Entry<String, String> entry : paramMap.entrySet())
{
                        Utilities.log(entry.getKey() + "=" + entry.getValue());
                    }

                        Utilities.log( paramMap.toString() );
                        Utilities.logObject( paramMap );
                        paramList = getForm(paramMap).build();
                } catch (Exception e) {
                        throw new PostToApiException("cannot build bodyForm for
the HTTP request", e);
                }

                try {
                        Utilities.log( "Before apiResponse");
                        /*HttpResponse apiResponse = 
                                       
Request.Post(url).bodyForm(paramList).execute().returnResponse();*/


                        Request request = Request.Post(url);
                        Request request2 = request.bodyForm(paramList);
                        Response response = request2.execute();
                        HttpResponse apiResponse  = response.returnResponse();

                        Utilities.log( "After apiResponse");
                        Utilities.log( "Before apiResponseStr");
                        apiResponseStr = new
BasicResponseHandler().handleResponse(apiResponse);
                        Utilities.log( "After apiResponseStr" + apiResponseStr
);

                } catch (Exception e) {
                        throw new PostToApiException("HTTP POST error", e);
                }

                try {
                        return new JSONObject(apiResponseStr);
                } catch (Exception e) {
                        throw new PostToApiException("failed to parse API call
response (not JSON?)", e);
                }

        }

Remember, our application only fails with Apache Tomcat 9.0.10
Another important thing: Normally when there's an exception in the application,
it is logged in the logs of TOMCAT (catalina.out), but these two doesn't appear
there (you can see the logs attached).

----------------------------------------------------------------------------

Full errors trace:


Estado HTTP 500 – Internal Server Error
Tipo Informe de Excepción

mensaje Handler dispatch failed; nested exception is
java.lang.NoSuchMethodError:
org.apache.http.impl.conn.PoolingHttpClientConnectionManager.setValidateAfterInactivity(I)V

descripción El servidor encontró un error interno que hizo que no pudiera
rellenar este requerimiento.

excepción

org.springframework.web.util.NestedServletException: Handler dispatch failed;
nested exception is java.lang.NoSuchMethodError:
org.apache.http.impl.conn.PoolingHttpClientConnectionManager.setValidateAfterInactivity(I)V
       
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:982)
       
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
       
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
       
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
       
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
       
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
       
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
causa raíz

java.lang.NoSuchMethodError:
org.apache.http.impl.conn.PoolingHttpClientConnectionManager.setValidateAfterInactivity(I)V
        org.apache.http.client.fluent.Executor.<clinit>(Executor.java:99)
        org.apache.http.client.fluent.Request.execute(Request.java:177)
       
com.desafioguerreros.infrastructure.payments.universalpay.UniversalPayPaymentsServices.postToApi(UniversalPayPaymentsServices.java:160)
       
com.desafioguerreros.infrastructure.payments.universalpay.UniversalPayPaymentsServices.buildPaymentForm(UniversalPayPaymentsServices.java:242)
       
com.desafioguerreros.events.core.EventRestFacade.onlinePaymentForm(EventRestFacade.java:1405)
        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:205)
       
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
       
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
       
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:967)
       
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
       
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
       
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
       
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
       
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
       
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
nota La traza completa de la causa de este error se encuentra en los archivos
de diario del servidor.

Apache Tomcat/9.0.10





Estado HTTP 500 – Internal Server Error
Tipo Informe de Excepción

mensaje Handler dispatch failed; nested exception is
java.lang.NoClassDefFoundError: Could not initialize class
org.apache.http.client.fluent.Executor

descripción El servidor encontró un error interno que hizo que no pudiera
rellenar este requerimiento.

excepción

org.springframework.web.util.NestedServletException: Handler dispatch failed;
nested exception is java.lang.NoClassDefFoundError: Could not initialize class
org.apache.http.client.fluent.Executor
       
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:982)
       
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
       
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
       
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
       
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
       
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
       
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
causa raíz

java.lang.NoClassDefFoundError: Could not initialize class
org.apache.http.client.fluent.Executor
        org.apache.http.client.fluent.Request.execute(Request.java:177)
       
com.desafioguerreros.infrastructure.payments.universalpay.UniversalPayPaymentsServices.postToApi(UniversalPayPaymentsServices.java:160)
       
com.desafioguerreros.infrastructure.payments.universalpay.UniversalPayPaymentsServices.buildPaymentForm(UniversalPayPaymentsServices.java:242)
       
com.desafioguerreros.events.core.EventRestFacade.onlinePaymentForm(EventRestFacade.java:1405)
        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:205)
       
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
       
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
       
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:967)
       
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
       
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
       
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
       
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
       
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
       
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
nota La traza completa de la causa de este error se encuentra en los archivos
de diario del servidor.

Apache Tomcat/9.0.10

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to