0

我正在开发使用嵌入式axis2servlet 和rampart(均为 1.4 版)创建的 Web 服务。我创建了正确的目录结构并放置了所有必需的模块和库。

在没有任何安全策略的情况下使用它时一切正常。但是,当我添加安全策略时,将任何请求发布到我的网络服务会导致:

 
org.apache.axis2.AxisFault:InvalidSecurity
    在 org.apache.rampart.handler.PostDispatchVerificationHandler.invoke(PostDispatchVerificationHandler.java:143)
    在 org.apache.axis2.engine.Phase.invoke(Phase.java:317)
    在 org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:264)
    在 org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:163)
    在 org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
    在 org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:131)
    在 javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    在 javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    在 pl.epoint.ow.filters.OneWebFilter.doFilter(OneWebFilter.java:46)
    在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    在 org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
    在 org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:191)
    在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
    在 org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
    在 org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
    在 org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
    在 org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
    在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
    在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
    在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
    在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    在 java.lang.Thread.run(Thread.java:662)

这是我的 service.xml 文件(已删除机密详细信息) http://pastebin.com/bPPiuRMM

有谁知道如何解决这个问题?

4

1 回答 1

0

您能否检查一下安全策略是否被正确应用。只需检查服务的 WSDL 是否包含安全策略。请在此处为此创建一个 JIRA[1]。

[1] - https://issues.apache.org/jira/browse/Rampart

于 2013-09-11T09:30:19.940 回答