[java-opensaml COMMIT] in /trunk: opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/SOAPMessagingSupport.ja...
noreply at shibboleth.net
noreply at shibboleth.net
Fri Jun 19 20:02:32 EDT 2015
Author: putmanb
Date: Fri Jun 19 20:02:32 2015
New Revision: 4310
URL: http://svn.shibboleth.net/view/java-opensaml?rev=4310&view=rev
Log:
Add SOAP 1.1 Fault support to SOAP11Context.
Add Fault support methods to SOAPMessagingSupport.
Update SOAP 1.1 Encoder to handle emitting Fault if there is one registered in the SOAP11Context.
Modified:
trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/SOAPMessagingSupport.java
trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/context/SOAP11Context.java
trunk/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/encoder/http/impl/HTTPSOAP11Encoder.java
trunk/opensaml-soap-impl/src/test/java/org/opensaml/soap/soap11/encoder/http/impl/HTTPSOAP11EncoderTest.java
Modified: trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/SOAPMessagingSupport.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/SOAPMessagingSupport.java?rev=4310&r1=4309&r2=4310&view=diff
==============================================================================
--- trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/SOAPMessagingSupport.java (original)
+++ trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/SOAPMessagingSupport.java Fri Jun 19 20:02:32 2015
@@ -19,6 +19,7 @@
import java.util.Collections;
import java.util.List;
+import java.util.Map;
import java.util.Set;
import javax.annotation.Nonnull;
@@ -35,6 +36,7 @@
import org.opensaml.soap.messaging.context.SOAP11Context;
import org.opensaml.soap.soap11.ActorBearing;
import org.opensaml.soap.soap11.Envelope;
+import org.opensaml.soap.soap11.Fault;
import org.opensaml.soap.soap11.Header;
import org.opensaml.soap.util.SOAPSupport;
@@ -278,4 +280,64 @@
envelopeHeader.getUnknownXMLObjects().add(headerBlock);
}
+ /**
+ * Register a SOAP 1.1. fault based on its constituent information items.
+ *
+ * @param messageContext the current message context
+ * @param faultCode the fault code QName (required)
+ * @param faultString the fault message string value (required)
+ * @param faultActor the fault actor value (may be null)
+ * @param detailChildren the detail child elements
+ * @param detailAttributes the detail element attributes
+ */
+ // Checkstyle: ParameterNumber OFF -- fault just has that many constituent parts
+ public static void registerSOAP11Fault(@Nonnull final MessageContext messageContext,
+ @Nonnull final QName faultCode, @Nonnull final String faultString, @Nullable final String faultActor,
+ @Nullable final List<XMLObject> detailChildren, @Nullable final Map<QName, String> detailAttributes) {
+
+ registerSOAP11Fault(messageContext,
+ SOAPSupport.buildSOAP11Fault(faultCode, faultString, faultActor, detailChildren, detailAttributes));
+ }
+ // Checkstyle: ParameterNumber
+
+ /**
+ * Register a SOAP 1.1 fault.
+ *
+ * @param messageContext the current message context
+ * @param fault the fault to register
+ */
+ public static void registerSOAP11Fault(@Nonnull final MessageContext messageContext, @Nullable final Fault fault) {
+ SOAP11Context soap11Context = getSOAP11Context(messageContext, true);
+
+ soap11Context.setFault(fault);
+ }
+
+ /**
+ * Get the registered SOAP 1.1 fault, if any.
+ *
+ * @param messageContext the current message context
+ * @return the registered fault, or null
+ */
+ public static Fault getSOAP11Fault(@Nonnull final MessageContext messageContext) {
+ SOAP11Context soap11Context = getSOAP11Context(messageContext, false);
+ if (soap11Context != null) {
+ return soap11Context.getFault();
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * Clear the currently registered SOAP fault, if any.
+ *
+ * @param messageContext the current message context
+ */
+ public static void clearFault(@Nonnull final MessageContext messageContext) {
+ SOAP11Context soap11Context = getSOAP11Context(messageContext, false);
+ if (soap11Context != null) {
+ soap11Context.setFault(null);
+ }
+ //TODO SOAP 1.2
+ }
+
}
Modified: trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/context/SOAP11Context.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/context/SOAP11Context.java?rev=4310&r1=4309&r2=4310&view=diff
==============================================================================
--- trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/context/SOAP11Context.java (original)
+++ trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/context/SOAP11Context.java Fri Jun 19 20:02:32 2015
@@ -21,6 +21,7 @@
import org.opensaml.messaging.context.BaseContext;
import org.opensaml.soap.soap11.Envelope;
+import org.opensaml.soap.soap11.Fault;
/**
[... 175 lines stripped ...]
More information about the commits
mailing list