Exemple d’erreur WSO2 – Doit comprendre que la vérification a échoué

Je mets en place un laboratoire de test pour en apprendre un peu plus sur les applications WSO2. J’essaie de recréer le scénario décrit ici: http://wso2.org/library/tutorials/2012/12/providing-xacml-fine-grained-authorization-webapps

J’utilise un seul serveur Windows 2008 et les applications WSO écoutent toutes sur différents ports. La fonctionnalité tryit de WSOIS indique que la stratégie est correctement évaluée. Cependant, lorsque j’essaie d’utiliser le service Web, je reçois une erreur Doit comprendre et échouer 500.

Le texte intégral de l’erreur est ci-dessous

J’ai recréé la configuration et j’ai la même erreur.

TID [-1234] [AS] [2013-04-25 21: 36: 37,740] ERREUR {org.apache.axis2.engine.AxisEngine} – Doit comprendre que la vérification a échoué pour l’en-tête http://docs.oasis-open.org /wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd : Sécurité org.apache.axis2.engine.AxisEngine.checkMustUnderstand (AxisEngine.java:104) org.apache.axis2.engine.AxisEngine. recevez (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.e ntitlement.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.c atalina.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 (Thre adPoolExecutor.java:615) java.lang.Thread.run (Thread.java:722)

La cause principale est que vous définissez l’en-tête mustunderstand dans le message soap, le processeur SOAP le traite et échoue en raison d’une exigence manquante. Vous pouvez parcourir l’ article suivant pour plus de précisions