WSO2示例错误 - 必须了解检查失败

时间:2013-04-25 11:39:38

标签: apache windows-server-2008 wso2

我正在建立一个测试实验室,以便更多地了解WSO2应用程序。我正在尝试重新创建此处描述的方案:http://wso2.org/library/tutorials/2012/12/providing-xacml-fine-grained-authorization-webapps

我正在使用单个Windows 2008服务器,并且所有WSO应用都在不同的端口上进行侦听。 WSOIS的tryit功能显示正在评估策略。但是,在尝试使用Web服务时,我收到Must Mustnd Check Failed 500错误。

错误的全文如下

我重新创建了设置,但我得到了同样的错误。

  

TID [-1234] [AS] [2013-04-25 21:36:37,740]错误   {org.apache.axis2.engine.AxisEngine} - 必须明白检查失败   为标题   http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd   :安全   org.apache.axis2.engine.AxisEngine.checkMustUnderstand(AxisEngine.java:104)   org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:170)   org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:356)   org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:413)   org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:224)   org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)   org.wso2.carbon.identity.entitlement.stub.EntitlementServiceStub.getDecision(EntitlementServiceStub.java:1108)   org.wso2.carbon.identity.entitlement.proxy.soap.basicAuth.BasicAuthEntitlementServiceClient.getDecision(BasicAuthEntitlementServiceClient.java:191)   org.wso2.carbon.identity.entitlement.proxy.soap.basicAuth.BasicAuthEntitlementServiceClient.getDecision(BasicAuthEntitlementServiceClient.java:62)   org.wso2.carbon.identity.entitlement.proxy.PEPProxy.getDecision(PEPProxy.java:78)   org.wso2.carbon.identity.entitlement.proxy.PEPProxy.getDecision(PEPProxy.java:122)   org.wso2.carbon.identity.entitlement.proxy.PEPProxy.getDecision(PEPProxy.java:99)   org.wso2.carbon.identity.entitlement.filter.EntitlementFilter.doFilter(EntitlementFilter.java:185)   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)   org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)   org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:177)   org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:161)   org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)   org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)   org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)   org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)   org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:589)   org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.run(NioEndpoint.java:1653)   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)   java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:615)   java.lang.Thread.run(Thread.java:722)

1 个答案:

答案 0 :(得分:2)

根本原因是您在soap消息中设置了mustunderstand标头,因此SOAP处理器处理它并因缺少要求而失败。您可以通过以下article进行更多说明