1

我正在建立一个测试实验室来了解更多关于 WSO2 应用程序的信息。我正在尝试重新创建此处描述的场景:http ://wso2.org/library/tutorials/2012/12/providing-xacml-fine-grained-authorization-webapps

我使用的是单个 Windows 2008 服务器,并且所有 WSO 应用程序都在不同的端口上侦听。WSOIS 的 tryit 功能表明该策略正在被正确评估。但是,当我尝试使用 Web 服务时,我收到了一个必须理解检查失败 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。调用(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)

4

1 回答 1

2

根本原因是您在soap消息中设置mustunderstand标头,因此SOAP处理器处理它并由于缺少要求而失败。您可以阅读以下文章以获得更多说明

于 2013-04-25T15:27:53.267 回答