[java-opensaml COMMIT] /trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPHelper.java
noreply at shibboleth.net
noreply at shibboleth.net
Mon Jan 7 22:26:34 EST 2013
Author: scantor
Date: Mon Jan 7 22:26:34 2013
New Revision: 3138
URL: http://svn.shibboleth.net/view/java-opensaml?rev=3138&view=rev
Log:
Switch to new message context API.
Modified:
trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPHelper.java
Modified: trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPHelper.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPHelper.java?rev=3138&r1=3137&r2=3138&view=diff
==============================================================================
--- trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPHelper.java (original)
+++ trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPHelper.java Mon Jan 7 22:26:34 2013
@@ -17,7 +17,6 @@
package org.opensaml.soap.util;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -39,6 +38,7 @@
import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
import org.opensaml.core.xml.schema.XSBooleanValue;
import org.opensaml.core.xml.util.AttributeMap;
+import org.opensaml.messaging.context.MessageContext;
import org.opensaml.soap.soap11.ActorBearing;
import org.opensaml.soap.soap11.Detail;
import org.opensaml.soap.soap11.EncodingStyleBearing;
@@ -49,9 +49,10 @@
import org.opensaml.soap.soap11.FaultString;
import org.opensaml.soap.soap11.Header;
import org.opensaml.soap.soap11.MustUnderstandBearing;
-import org.opensaml.ws.message.MessageContext;
import com.google.common.base.Objects;
+import com.google.common.base.Predicates;
+import com.google.common.collect.Iterables;
/**
* Helper methods for working with SOAP.
@@ -398,24 +399,25 @@
/**
* Add a header block to the SOAP envelope contained within the specified message context's
- * {@link MessageContext#getOutboundMessage()}.
+ * {@link MessageContext#getMessage()}.
*
* @param messageContext the message context being processed
* @param headerBlock the header block to add
*/
- public static void addHeaderBlock(MessageContext messageContext, XMLObject headerBlock) {
- XMLObject outboundEnvelope = messageContext.getOutboundMessage();
- if (outboundEnvelope == null) {
- throw new IllegalArgumentException("Message context does not contain a SOAP envelope");
- }
+ public static void addHeaderBlock(@Nonnull final MessageContext<? extends XMLObject> messageContext,
+ @Nonnull final XMLObject headerBlock) {
+ Constraint.isNotNull(messageContext, "Message context cannot be null");
+ Constraint.isNotNull(messageContext.getMessage(), "Message context cannot be empty");
+
+ XMLObject outboundEnvelope = messageContext.getMessage();
// SOAP 1.1 Envelope
if (outboundEnvelope instanceof Envelope) {
addSOAP11HeaderBlock((Envelope) outboundEnvelope, headerBlock);
- }
-
- //TODO SOAP 1.2 support when object providers are implemented
-
+ } else {
+ //TODO SOAP 1.2 support when object providers are implemented
+ throw new IllegalArgumentException("Message context did not contain a SOAP Envelope");
+ }
}
/**
@@ -424,11 +426,14 @@
* @param envelope the SOAP 1.1 envelope to process
* @param headerBlock the header to add
*/
- public static void addSOAP11HeaderBlock(Envelope envelope, XMLObject headerBlock) {
+ public static void addSOAP11HeaderBlock(@Nonnull final Envelope envelope, @Nonnull final XMLObject headerBlock) {
+ Constraint.isNotNull(envelope, "Envelope cannot be null");
+ Constraint.isNotNull(headerBlock, "Header block cannot be null");
+
Header envelopeHeader = envelope.getHeader();
if (envelopeHeader == null) {
- envelopeHeader = (Header) XMLObjectProviderRegistrySupport.getBuilderFactory().getBuilder(Header.DEFAULT_ELEMENT_NAME)
- .buildObject(Header.DEFAULT_ELEMENT_NAME);
+ envelopeHeader = (Header) XMLObjectProviderRegistrySupport.getBuilderFactory().getBuilder(
+ Header.DEFAULT_ELEMENT_NAME).buildObject(Header.DEFAULT_ELEMENT_NAME);
envelope.setHeader(envelopeHeader);
}
@@ -437,52 +442,26 @@
/**
* Get a header block from the SOAP envelope contained within the specified message context's
- * {@link MessageContext#getInboundMessage()}.
- *
- * @param msgContext the message context being processed
+ * {@link MessageContext#getMessage()}.
+ *
+ * @param messageContext the message context being processed
* @param headerName the name of the header block to return
* @param targetNodes the explicitly specified SOAP node actors (1.1) or roles (1.2) for which the header is desired
* @param isFinalDestination true specifies that headers targeted for message final destination should be returned,
* false means they should not be returned
[... 146 lines stripped ...]
More information about the commits
mailing list