[jboss-cvs] JBossAS SVN: r71740 - projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/request.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Apr 4 18:40:29 EDT 2008
Author: anil.saldhana at jboss.com
Date: 2008-04-04 18:40:28 -0400 (Fri, 04 Apr 2008)
New Revision: 71740
Modified:
projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/request/JBossSAMLRequest.java
Log:
SECURITY-186: consider soap11 env
Modified: projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/request/JBossSAMLRequest.java
===================================================================
--- projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/request/JBossSAMLRequest.java 2008-04-04 22:39:00 UTC (rev 71739)
+++ projects/security/security-xacml/trunk/jboss-xacml-saml/src/main/java/org/jboss/security/xacml/saml/integration/opensaml/request/JBossSAMLRequest.java 2008-04-04 22:40:28 UTC (rev 71740)
@@ -23,10 +23,14 @@
import java.io.File;
import java.io.InputStream;
+import java.util.List;
import org.jboss.security.xacml.saml.integration.opensaml.util.DOMUtil;
import org.jboss.security.xacml.saml.integration.opensaml.util.SAML2Util;
import org.opensaml.common.SAMLObject;
+import org.opensaml.ws.soap.soap11.Body;
+import org.opensaml.ws.soap.soap11.Envelope;
+import org.opensaml.xml.XMLObject;
import org.opensaml.xml.io.UnmarshallingException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -61,6 +65,28 @@
Element docElement = document.getDocumentElement();
if(docElement == null)
throw new IllegalStateException("Document Element is null");
- return (SAMLObject) util.toXMLObject(docElement);
+ XMLObject xmlObject = util.toXMLObject(docElement);
+ if(xmlObject instanceof Envelope)
+ {
+ Envelope envelope = (Envelope) xmlObject;
+ Body soapBody = envelope.getBody();
+ List<XMLObject> children = soapBody.getOrderedChildren();
+ if(children != null)
+ {
+ for(XMLObject child: children)
+ {
+ if(child instanceof SAMLObject)
+ {
+ return (SAMLObject) child;
+ }
+ }
+ }
+ }
+ else
+ if(xmlObject instanceof SAMLObject)
+ {
+ return (SAMLObject) xmlObject;
+ }
+ throw new RuntimeException("Unknown Object:"+xmlObject.getClass().getCanonicalName()) ;
}
}
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list