org.springframework.web.HttpRequestMethodNotSupportedException: HessianServiceExporter only supports POST requests

Spring JIRA | David Disley | 9 years ago
tip
Click on the to mark the solution that helps you, Samebug will learn from it.
As a community member, you’ll be rewarded for you help.
  1. 0

    I get the following exception when I issue a GET request to a URL that is being directed to a Hessian service: org.springframework.web.HttpRequestMethodNotSupportedException: HessianServiceExporter only supports POST requests at org.springframework.remoting.caucho.HessianServiceExporter.handleRequest(HessianServiceExporter.java:142) at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:858) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:431) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) This exception prevents further Hessian requests from completing. The only way to "clear" this problem is to re-start the application. This is not a problem that I expect to happen in the "normal" operation of my application, but I need to guard against it does represent a security threat - malicious client applications could exploit this vulnerability to create a denial of service situation.

    Spring JIRA | 9 years ago | David Disley
    org.springframework.web.HttpRequestMethodNotSupportedException: HessianServiceExporter only supports POST requests
  2. 0

    I get the following exception when I issue a GET request to a URL that is being directed to a Hessian service: org.springframework.web.HttpRequestMethodNotSupportedException: HessianServiceExporter only supports POST requests at org.springframework.remoting.caucho.HessianServiceExporter.handleRequest(HessianServiceExporter.java:142) at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:858) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:431) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) This exception prevents further Hessian requests from completing. The only way to "clear" this problem is to re-start the application. This is not a problem that I expect to happen in the "normal" operation of my application, but I need to guard against it does represent a security threat - malicious client applications could exploit this vulnerability to create a denial of service situation.

    Spring JIRA | 9 years ago | David Disley
    org.springframework.web.HttpRequestMethodNotSupportedException: HessianServiceExporter only supports POST requests

    Root Cause Analysis

    1. org.springframework.web.HttpRequestMethodNotSupportedException

      HessianServiceExporter only supports POST requests

      at org.springframework.remoting.caucho.HessianServiceExporter.handleRequest()
    2. Spring
      HessianServiceExporter.handleRequest
      1. org.springframework.remoting.caucho.HessianServiceExporter.handleRequest(HessianServiceExporter.java:142)
      1 frame
    3. Spring MVC
      FrameworkServlet.doGet
      1. org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49)
      2. org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:858)
      3. org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792)
      4. org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
      5. org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:431)
      5 frames
    4. JavaServlet
      HttpServlet.service
      1. javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
      2. javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      2 frames
    5. Glassfish Core
      ApplicationFilterChain.doFilter
      1. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      2. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      2 frames
    6. Sitemesh
      PageFilter.doFilter
      1. com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119)
      2. com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55)
      2 frames
    7. Glassfish Core
      CoyoteAdapter.service
      1. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      2. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      3. org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      4. org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
      5. org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
      6. org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
      7. org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
      8. org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
      8 frames
    8. Embedded GlassFish Web
      ChannelSocket$SocketConnection.runIt
      1. org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
      2. org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
      3. org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
      4. org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
      5. org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
      5 frames
    9. Tomcat Util
      ThreadPool$ControlRunnable.run
      1. org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
      1 frame
    10. Java RT
      Thread.run
      1. java.lang.Thread.run(Thread.java:595)
      1 frame