【问题标题】:Jax-WS and Spring-security ConflictJax-WS 和 Spring-security 冲突
【发布时间】:2015-01-20 08:56:43
【问题描述】:

我在我的 Spring web mvc 项目中定义了一个 Jax-WS webservice。当我使用 SOAP-UI 测试 wsdl 操作时,所有 Web 服务方法都可以正常工作。

我已经包含了用于身份验证和授权的 spring-security 过滤器。现在,我可以访问 wsdl 但无法对其执行任何操作。 我在 SOAP UI 中收到以下错误消息:

HTTP 状态 405 - 请求方法 'POST'不支持

以下是我在 web.xml 中添加的 spring-security 过滤器:

<filter>  
    <filter-name>springSecurityFilterChain</filter-name>  
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>  
</filter>    
<filter-mapping>  
    <filter-name>springSecurityFilterChain</filter-name>  
    <url-pattern>/*</url-pattern>  
</filter-mapping>  

而且,我的 wsdl 位于:http://localhost:8080/MyProject/MyService?wsdl

请告诉我如何解决这个问题。

【问题讨论】:

  • 您在控制器中处理 POST 方法吗?您是否在 web.xml 中定义了任何
  • @ingenious,非常感谢您提供的信息。不,我没有在我的控制器中处理它。我创建了一个 java 类并将其公开为 jax-ws webservice。根据您的建议,我通过省略所有约束在 web.xml 中向 MyService 添加了一个 。但是,问题仍然存在。
  • 为了包含安全约束,我关注了这个帖子:stackoverflow.com/questions/15024235/…

标签: java spring spring-security jax-ws web.xml


【解决方案1】:

知道了!!在 spring-security.xml 中包含以下元素:

<http pattern="/MyService**" security="none"/>

【讨论】:

    猜你喜欢
    • 2013-08-07
    • 1970-01-01
    • 2015-02-23
    • 2011-02-25
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多