You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2018/07/29 07:36:28 UTC
[Bug 62579] New: After update to Apache 9.0.10 gets a double error
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: genialjacob@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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
[Bug 62579] After update to Apache 9.0.10 gets a double error
Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62579
Mark Thomas <ma...@apache.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |INVALID
Status|NEW |RESOLVED
--- Comment #1 from Mark Thomas <ma...@apache.org> ---
This is an application error not a Tomcat error related to your use of the HTTP
client.
You might be able to get support on the Tomcat users mailing list although you
might have more luck with the HTTP client lists.
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org