[java-opensaml COMMIT] in /trunk/opensaml-saml-impl: pom.xml src/main/java/org/opensaml/saml/common/binding/SAMLSOAPD...

noreply at shibboleth.net noreply at shibboleth.net
Wed Jan 30 19:50:41 EST 2013


Author: putmanb
Date: Wed Jan 30 19:50:41 2013
New Revision: 3191

URL: http://svn.shibboleth.net/view/java-opensaml?rev=3191&view=rev
Log:
Refactor SAML SOAP encoders and decoders to just be simple extensions of the generic SOAP ones.

Added:
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/SAMLSOAPDecoderBodyHandler.java   (with props)
Modified:
    trunk/opensaml-saml-impl/pom.xml
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/HTTPSOAP11Decoder.java
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/HTTPSOAP11Encoder.java
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/HTTPSOAP11Decoder.java
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/HTTPSOAP11Encoder.java

Modified: trunk/opensaml-saml-impl/pom.xml
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/pom.xml?rev=3191&r1=3190&r2=3191&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/pom.xml (original)
+++ trunk/opensaml-saml-impl/pom.xml Wed Jan 30 19:50:41 2013
@@ -25,6 +25,11 @@
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>opensaml-util</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>opensaml-soap-impl</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
@@ -77,12 +82,6 @@
         </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>opensaml-soap-impl</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
             <artifactId>opensaml-xmlsec-impl</artifactId>
             <version>${project.version}</version>
             <type>test-jar</type>

Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/HTTPSOAP11Decoder.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/HTTPSOAP11Decoder.java?rev=3191&r1=3190&r2=3191&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/HTTPSOAP11Decoder.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/HTTPSOAP11Decoder.java Wed Jan 30 19:50:41 2013
@@ -17,31 +17,30 @@
 
 package org.opensaml.saml.saml1.binding.decoding;
 
-import java.io.IOException;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.opensaml.core.xml.XMLObject;
-import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.messaging.decoder.MessageDecodingException;
-import org.opensaml.messaging.decoder.servlet.BaseHttpServletRequestXmlMessageDecoder;
 import org.opensaml.saml.common.SAMLObject;
+import org.opensaml.saml.common.binding.SAMLSOAPDecoderBodyHandler;
 import org.opensaml.saml.common.binding.decoding.SAMLMessageDecoder;
 import org.opensaml.saml.common.xml.SAMLConstants;
-import org.opensaml.soap.messaging.context.SOAP11Context;
-import org.opensaml.soap.soap11.Envelope;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
  * SAML 1.1 HTTP SOAP 1.1 binding decoder.
  */
-public class HTTPSOAP11Decoder extends BaseHttpServletRequestXmlMessageDecoder<SAMLObject> 
+public class HTTPSOAP11Decoder extends org.opensaml.soap.soap11.decoder.http.HTTPSOAP11Decoder<SAMLObject> 
         implements SAMLMessageDecoder {
-
+    
     /** Class logger. */
     private final Logger log = LoggerFactory.getLogger(HTTPSOAP11Decoder.class);
+
+    /**
+     * Constructor.
+     */
+    public HTTPSOAP11Decoder() {
+        super();
+        setBodyHandler(new SAMLSOAPDecoderBodyHandler());
+    }
 
     /** {@inheritDoc} */
     public String getBindingURI() {
@@ -50,52 +49,10 @@
 
     /** {@inheritDoc} */
     protected void doDecode() throws MessageDecodingException {
-        MessageContext<SAMLObject> messageContext = new MessageContext<SAMLObject>();
-        HttpServletRequest request = getHttpServletRequest();
+        super.doDecode();
 
-        if (!"POST".equalsIgnoreCase(request.getMethod())) {
-            throw new MessageDecodingException("This message decoder only supports the HTTP POST method");
-        }
-
-        log.debug("Unmarshalling SOAP message");
-        Envelope soapMessage;
-        try {
-            soapMessage = (Envelope) unmarshallMessage(request.getInputStream());
-            messageContext.getSubcontext(SOAP11Context.class, true).setEnvelope(soapMessage);
-        } catch (IOException e) {
-            log.error("Unable to obtain input stream from HttpServletRequest", e);

[... 450 lines stripped ...]


More information about the commits mailing list