当前位置: 首页 > 知识库问答 >
问题:

如何在Spring的SOAP拦截器中获取HttpServletRequest和HttpServletACK

微生青青
2023-03-14

我有一个带有SOAPendpoint的Spring引导应用程序和一个实现Endpoint Interceptor的拦截器类。问题是,此接口中没有可以访问HttpServletRequestHttpServletACK的覆盖方法。

我的问题是:

>

  • 每当API请求使用SOAP拦截器时,我如何获取HttpServletRequest和HttpServletResponse对象(我看到了许多使用WebMVCConfigureAdapter和HandlerInterceptor的示例,但它只对Rest@Controller起作用。在我的情况下,它是带有@Endpoint的SOAP,并且不调用重写的方法)。

    如果这是不可能的,我如何从MessageContext获取make this object,因为handleRequest overrided方法具有如下所示的参数

    @重写公共布尔HandlerRequest(MessageContext MessageContext,Object endpoint)引发异常{LOG.info(“endpoint请求处理”);返回true;}

  • 共有2个答案

    易波涛
    2023-03-14

    如果您想在使用拦截器到达endpoint之前/之后操纵(重写)HttpServletRequest和HttpServletResponse,这将是一个坏主意,因为在该级别上到达的请求将被预处理,并且不会给您修改的选项。

    您可以使用过滤器而不是拦截器来实现您的尝试。

    姬裕
    2023-03-14

    Spring-ws具有用于存储当前底层连接的TransportContext类。您可以通过代码中的TransportContextHolder类静态访问它。

    如果您确定底层连接是HttpServletConnection,那么您可以在拦截器方法中执行类似的操作:

    TransportContext ctx = TransportContextHolder.getTransportContext();
    HttpServletRequest req = ((HttpServletConnection) ctx.getConnection()).getHttpServletRequest();
    
     类似资料:
    • 在Spring MVC控制器中,我可以使用@PathVariable获取路径变量,以获取在@RequestMapping中定义的变量的值。如何在拦截器中获取变量的值? 非常感谢你!

    • 问题内容: 如何在Hibernate拦截器中获取Hibernate会话? 我正在尝试使用Hibernate通过组织ID透明地强制执行数据访问。我设置了一个全局筛选器,以按组织ID筛选所有查询。现在,在保存/更新之前,我需要使用实体拦截器在所有实体上设置组织ID。 组织ID来自HttpSession 我已经在Hibernate会话中将Organizational Id设置为Filter属性,我想在我

    • 我试图在javascript中为fetch创建一个拦截器(更具体地说是React)。它应该从每次调用的fetch中获取结果,如果是401错误,它应该向另一个路由发起新的fetch调用,以获取cookie(刷新令牌)。然后,应该再次尝试原始的fetch调用(因为现在用户已经登录)。 我已经成功地触发了新的fetch调用,并为每个调用发回了cookie,但我遇到了以下两个问题: 我似乎在使用async

    • 问题内容: 我真的很感谢Spring 3阳极驱动的Web控制器映射 我有很多带有类似签名的控制器: 但是我的问题是,我想编写一个拦截器,该拦截器在处理后会通过BindingResults-如何从HttpRequest或HttpResponse中获取它们? 因为intercpetor方法具有相同的签名 问题答案: 因此,在@Axtavt的大力帮助下,我得出了结论,即可以在postHandle方法中从

    • 问题内容: 我看到 一吨 的条目在我的Tomcat日志(样品粘贴下面)。这些在几个月前进行次要版本升级(Spring Security 4.2.4,IIRC)后开始出现在我的日志文件中,因此,这显然是默认情况下启用的Spring新安全功能。这里报告了类似的问题,但是我的问题专门涉及如何在控制器中拦截这些异常。有一个针对此问题的Spring Security错误记录(提供一种处理RequestRej

    • 我在Tomcat日志中看到大量条目(示例粘贴在下面)。在几个月前的一次小版本升级(Spring Security 4.2.4,IIRC)后,这些功能开始出现在我的日志文件中,因此这显然是Spring中默认启用的一个新的安全特性。这里报告了一个类似的问题,但我的问题具体涉及如何在控制器中拦截这些异常。这个问题有一个Spring Securitybug(提供一种处理RequestRejectedExc