You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ba...@apache.org on 2007/07/17 21:00:25 UTC

svn commit: r557028 - in /webservices/axis2/trunk/java/modules: jaxws/ jaxws/test-resources/ jaxws/test/org/apache/axis2/jaxws/framework/ jaxws/test/org/apache/axis2/jaxws/provider/ jaxws/test/org/apache/axis2/jaxws/provider/soapmsgmu/ kernel/src/org/a...

Author: barrettj
Date: Tue Jul 17 12:00:23 2007
New Revision: 557028

URL: http://svn.apache.org/viewvc?view=rev&rev=557028
Log:
Undo changes made in revision 556761 for AXIS2-2853 per discussion on the list and in IRC.

Removed:
    webservices/axis2/trunk/java/modules/jaxws/test-resources/axis2.xml
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/SoapMessageMUProviderChecker.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/SoapMessageMUProviderTests.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/soapmsgmu/
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/SOAPMustUnderstandHeaderChecker.java
Modified:
    webservices/axis2/trunk/java/modules/jaxws/pom.xml
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/AttachmentUtil.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentConstants.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisEngine.java

Modified: webservices/axis2/trunk/java/modules/jaxws/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/pom.xml?view=diff&rev=557028&r1=557027&r2=557028
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/pom.xml (original)
+++ webservices/axis2/trunk/java/modules/jaxws/pom.xml Tue Jul 17 12:00:23 2007
@@ -465,17 +465,6 @@
 										<include name="org/apache/axis2/jaxws/server/**"/>
 									</fileset>
 								</copy>
-                                <copy toDir="target/test-classes/services/SoapMessageMUProviderService/">
-                                    <fileset dir="target/test-classes">
-                                        <include name="org/apache/axis2/jaxws/provider/soapmsgmu/**"/>
-                                    </fileset>
-                                    <fileset dir="test/org/apache/axis2/jaxws/provider/soapmsgmu">
-                                        <include name="META-INF/**"/>
-                                    </fileset>
-                                    <fileset dir="target/classes">
-                                        <include name="org/apache/axis2/jaxws/server/**"/>
-                                    </fileset>
-                                </copy>
 								<copy toDir="target/test-classes/services/JAXBProviderService/">
 									<fileset dir="target/test-classes">
 										<include name="org/apache/axis2/jaxws/provider/jaxb/**"/>
@@ -817,7 +806,6 @@
 								<copy toDir="target/test-classes/">
 									<fileset dir="test-resources/">
 										<include name="**/*.properties"/>
-										<include name="**/axis2.xml"/>
 									</fileset>
 								</copy>
 							</tasks>
@@ -862,11 +850,6 @@
 						<property>
 							<name>build.repository</name>
 							<value>./target/test-classes</value>
-						</property>
-						<!-- Need this for the client side to pickup an axis2.xml to configure SoapMessageMUProviderChecker -->
-						<property>
-						    <name>org.apache.axis2.jaxws.config.path</name>
-						    <value>./target/test-classes/axis2.xml</value>
 						</property>
 						<property>
 							<name>javax.xml.soap.MessageFactory</name>

Modified: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java?view=diff&rev=557028&r1=557027&r2=557028
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java Tue Jul 17 12:00:23 2007
@@ -58,7 +58,6 @@
 import org.apache.axis2.jaxws.provider.JAXBProviderTests;
 import org.apache.axis2.jaxws.provider.SOAPFaultProviderTests;
 import org.apache.axis2.jaxws.provider.SoapMessageProviderTests;
-import org.apache.axis2.jaxws.provider.SoapMessageMUProviderTests;
 import org.apache.axis2.jaxws.provider.SourceMessageProviderTests;
 import org.apache.axis2.jaxws.provider.SourceProviderTests;
 import org.apache.axis2.jaxws.provider.StringMessageProviderTests;
@@ -153,7 +152,6 @@
         suite.addTestSuite(SourceMessageProviderTests.class);
         // TODO FIXME: Test fails
         //suite.addTestSuite(SoapMessageProviderTests.class);
-        suite.addTestSuite(SoapMessageMUProviderTests.class);
         suite.addTestSuite(JAXBProviderTests.class);
         suite.addTestSuite(ProxyTests.class);
         //TODO: FIXME - Was working, now doesn't

Modified: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/AttachmentUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/AttachmentUtil.java?view=diff&rev=557028&r1=557027&r2=557028
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/AttachmentUtil.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/AttachmentUtil.java Tue Jul 17 12:00:23 2007
@@ -21,23 +21,11 @@
 import java.awt.*;
 import java.awt.image.BufferedImage;
 import java.io.OutputStream;
-import java.io.StringReader;
-import java.io.StringWriter;
 import java.util.Iterator;
 
 import javax.imageio.IIOImage;
 import javax.imageio.ImageWriter;
 import javax.imageio.stream.ImageOutputStream;
-import javax.xml.soap.MessageFactory;
-import javax.xml.soap.SOAPConstants;
-import javax.xml.soap.SOAPException;
-import javax.xml.soap.SOAPMessage;
-import javax.xml.transform.Result;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
 
 /**
  * This will serve as a helper class for attachments utility methods. All methods
@@ -45,81 +33,7 @@
  *
  */
 public class AttachmentUtil {
-    public static final String SOAP11_NAMESPACE = "http://schemas.xmlsoap.org/soap/envelope";
-    public static final String SOAP12_NAMESPACE = "http://www.w3.org/2003/05/soap-envelope";
-
-    public static final String MU_TEXT = "soap message mustUnderstand header request";
-    public static final String UNDERSTOOD_MU_TEXT = "understood headers soap message mustUnderstand header request";
-    public static final String TEXT = "soap message request";
-    public static final String VALUE = "value";
-    public static final String VALUE_NODE = "<"+VALUE+">";
-    public static final String VALUE_NODE_SLASH = "</"+VALUE+">";
-    public static final String XML_HEADER = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
-    public static final String MUHEADER_CLIENT = "ns1:muclient";
-    public static final String MUHEADER_SERVER = "ns1:muserver";
-    public static final String MUHEADER_CLIENT_UNDERSTOOD = "ns1:muclientunderstood";
-    public static final String MUHEADER_SERVER_UNDERSTOOD = "ns1:muserverunderstood";
-    public static final String msgEnvMU = 
-        "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
-            "<soapenv:Header>" +
-                "<"+MUHEADER_CLIENT+" xmlns:ns1=\"http://ws.apache.org/axis2\" soapenv:mustUnderstand=\"1\">MUinfo</"+MUHEADER_CLIENT+">" +
-            "</soapenv:Header>" +
-            "<soapenv:Body>" +
-                "<ns1:invoke xmlns:ns1=\"http://ws.apache.org/axis2\">" +
-                    VALUE_NODE +
-                    MU_TEXT +
-                    VALUE_NODE_SLASH +
-                "</ns1:invoke>" +
-            "</soapenv:Body>" +
-        "</soapenv:Envelope>";
-    
-    public static final String msgEnv = 
-        "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
-            "<soapenv:Body>" +
-                "<ns1:invoke xmlns:ns1=\"http://ws.apache.org/axis2\">" +
-                    VALUE_NODE +
-                    MU_TEXT +
-                    VALUE_NODE_SLASH +
-                "</ns1:invoke>" +
-            "</soapenv:Body>" +
-        "</soapenv:Envelope>";
-    
-    public static final String msgEnvPlain = 
-        "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
-            "<soapenv:Body>" +
-                "<ns1:invoke xmlns:ns1=\"http://ws.apache.org/axis2\">" +
-                    VALUE_NODE +
-                    TEXT +
-                    VALUE_NODE_SLASH +
-                "</ns1:invoke>" +
-            "</soapenv:Body>" +
-        "</soapenv:Envelope>";
-
-    public static final String msgEnvMU_understood = 
-        "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
-            "<soapenv:Header>" +
-                "<"+MUHEADER_CLIENT_UNDERSTOOD+" xmlns:ns1=\"http://ws.apache.org/axis2\" soapenv:mustUnderstand=\"1\">MUinfo</"+MUHEADER_CLIENT_UNDERSTOOD+">" +
-            "</soapenv:Header>" +
-            "<soapenv:Body>" +
-                "<ns1:invoke xmlns:ns1=\"http://ws.apache.org/axis2\">" +
-                    VALUE_NODE +
-                    UNDERSTOOD_MU_TEXT +
-                    VALUE_NODE_SLASH +
-                "</ns1:invoke>" +
-            "</soapenv:Body>" +
-        "</soapenv:Envelope>";
-    
-    public static final String msgEnv_understood = 
-        "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
-            "<soapenv:Body>" +
-                "<ns1:invoke xmlns:ns1=\"http://ws.apache.org/axis2\">" +
-                    VALUE_NODE +
-                    UNDERSTOOD_MU_TEXT +
-                    VALUE_NODE_SLASH +
-                "</ns1:invoke>" +
-            "</soapenv:Body>" +
-        "</soapenv:Envelope>";
-    
+ 
     /**
      * Store a given image to an Image output stream
      * @param mimeType
@@ -142,81 +56,5 @@
         ios.flush();
         imageWriter.dispose();
     }
-    
-	/**
-	 * Adapter method used to convert any type of Source to a String
-	 * 
-	 * @param input
-	 * @return
-	 */
-	public static String toString(Source input) {
-
-		if (input == null)
-			return null;
-
-		StringWriter writer = new StringWriter();
-		Transformer trasformer;
-		try {
-			trasformer = TransformerFactory.newInstance().newTransformer();
-			Result result = new StreamResult(writer);
-			trasformer.transform(input, result);
-		} catch (Exception e) {
-			return null;
-		}
-
-		return writer.getBuffer().toString();
-	}
-
-	/**
-	 * Adapter method used to convert any type of SOAPMessage to a String
-	 * 
-	 * @param input
-	 * @return
-	 */
-	public static String toString(SOAPMessage input) {
-
-		if (input == null)
-			return null;
-
-		Source result = null;
-		try {
-			result = input.getSOAPPart().getContent();
-		} catch (SOAPException e) {
-			e.printStackTrace();
-		}
-
-		return toString(result);
-	}
-	
-	/**
-	 * Method used to convert Strings to SOAPMessages
-	 * 
-	 * @param msgString
-	 * @return
-	 */
-        public static SOAPMessage toSOAPMessage(String msgString) {
-
-         if (msgString == null) return null;
-
-         SOAPMessage message = null;
-         try {
-                 MessageFactory factory = null;
-
-                 // Force the usage of specific MesasgeFactories
-                 if (msgString.indexOf(SOAP11_NAMESPACE) >= 0) {
-                         factory = MessageFactory.newInstance(SOAPConstants.SOAP_1_1_PROTOCOL);
-                 } else {
-                         factory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
-                 }
-                 message = factory.createMessage();
-                 message.getSOAPPart().setContent((Source) new StreamSource(new StringReader(msgString)));
-                 message.saveChanges();
-         } catch (SOAPException e) {
-                 System.out.println("toSOAPMessage Exception encountered: " + e);
-                 e.printStackTrace();
-         }
-         return message;     
-    }
-    
 }
 

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java?view=diff&rev=557028&r1=557027&r2=557028
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/AxisConfigBuilder.java Tue Jul 17 12:00:23 2007
@@ -48,7 +48,6 @@
 import org.apache.axis2.transport.TransportListener;
 import org.apache.axis2.transport.TransportSender;
 import org.apache.axis2.util.Loader;
-import org.apache.axis2.util.SOAPMustUnderstandHeaderChecker;
 import org.apache.axis2.util.TargetResolver;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -123,12 +122,6 @@
                     config_element.getFirstChildWithName(new QName(TAG_TARGET_RESOLVERS));
             processTargetResolvers(axisConfig, targetResolvers);
 
-            // Process SOAPMustUnderstandHeaderCheckers
-            OMElement headerCheckers =
-                config_element.getFirstChildWithName(new QName(TAG_MUSTUNDERSTAND_CHECKERS));
-            processMustUnderstandCheckers(axisConfig, headerCheckers);
-            
-            
             // Process Observers
             Iterator obs_ittr = config_element.getChildrenWithName(new QName(TAG_LISTENER));
 
@@ -246,30 +239,6 @@
                     if (log.isTraceEnabled()) {
                         log.trace(
                                 "processTargetResolvers: Exception thrown initialising TargetResolver: " +
-                                        e.getMessage());
-                    }
-                }
-            }
-        }
-    }
-
-    private void processMustUnderstandCheckers(AxisConfiguration axisConfig, OMElement headerCheckers) {
-        if (headerCheckers != null) {
-            Iterator iterator = headerCheckers.getChildrenWithName(new QName(TAG_MUSTUNDERSTAND_CHECKER));
-            while (iterator.hasNext()) {
-                OMElement headerChecker = (OMElement) iterator.next();
-                OMAttribute classNameAttribute =
-                        headerChecker.getAttribute(new QName(TAG_CLASS_NAME));
-                String className = classNameAttribute.getAttributeValue();
-                try {
-                    Class classInstance = Loader.loadClass(className);
-                    SOAPMustUnderstandHeaderChecker checkerClass = 
-                        (SOAPMustUnderstandHeaderChecker) classInstance.newInstance();
-                    axisConfig.addMustUnderstandHeaderChecker(checkerClass);
-                } catch (Exception e) {
-                    if (log.isTraceEnabled()) {
-                        log.trace(
-                                "processHeaderCheckers: Exception thrown initialising SOAPMustUnderstandHeaderChecker: " +
                                         e.getMessage());
                     }
                 }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentConstants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentConstants.java?view=diff&rev=557028&r1=557027&r2=557028
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentConstants.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentConstants.java Tue Jul 17 12:00:23 2007
@@ -51,8 +51,6 @@
     String TAG_TYPE = "type";
     String TAG_TARGET_RESOLVERS = "targetResolvers";
     String TAG_TARGET_RESOLVER = "targetResolver";
-    String TAG_MUSTUNDERSTAND_CHECKERS = "soapMustUnderstandCheckers";
-    String TAG_MUSTUNDERSTAND_CHECKER = "soapMustUnderstandChecker";
     String TAG_TRANSPORT_SENDER = "transportSender";
     String TAG_TRANSPORT_RECEIVER = "transportReceiver";
     String TAG_SERVICE_GROUP = "serviceGroup";

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml?view=diff&rev=557028&r1=557027&r2=557028
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml Tue Jul 17 12:00:23 2007
@@ -124,17 +124,6 @@
     <!--<targetResolver class="" />-->
     <!--</targetResolvers>-->
 
-    <!-- ================================================= -->
-    <!-- SOAP Must Understand Header Checkers -->
-    <!-- ================================================= -->
-    <!-- Uncomment the following and specify the class name for your SOAPMustUnderstandHeaderChecker -->
-    <!-- implementation to add a header checker.  Header checkers are used to identify SOAP Header -->
-    <!-- QNames that will be processed by components (such as a MessageReceiver) after the point -->
-    <!-- the Axis2 engine checks that all mustUnderstand headers are understood. -->
-    <!-- <soapMustUnderstandCheckers> -->
-    <!--    <soapMustUnderstandChecker class="" /> -->
-    <!-- </soapMustUnderstandCheckers> -->
-
 
     <!-- ================================================= -->
     <!-- Transport Ins -->

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java?view=diff&rev=557028&r1=557027&r2=557028
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java Tue Jul 17 12:00:23 2007
@@ -33,7 +33,6 @@
 import org.apache.axis2.i18n.Messages;
 import org.apache.axis2.phaseresolver.PhaseResolver;
 import org.apache.axis2.transport.MessageFormatter;
-import org.apache.axis2.util.SOAPMustUnderstandHeaderChecker;
 import org.apache.axis2.util.TargetResolver;
 import org.apache.axis2.util.Utils;
 import org.apache.commons.logging.Log;
@@ -125,8 +124,6 @@
     private boolean start;
 
     private ArrayList targetResolvers;
-    
-    private ArrayList mustUnderstandHeaderCheckers;
 
     private ClusterManager clusterManager;
 
@@ -159,7 +156,6 @@
 
         this.phasesinfo = new PhasesInfo();
         targetResolvers = new ArrayList();
-        mustUnderstandHeaderCheckers = new ArrayList();
     }
 
     public void addMessageReceiver(String mepURL,
@@ -1015,29 +1011,6 @@
     public void addTargetResolver(TargetResolver tr) {
         targetResolvers.add(tr);
     }
-    
-    /**
-     * Return an iterator over implentations of SOAPMustUnderstandHeaderChecker.  These 
-     * implentations are called during mustUnderstand validation with a HashMap of headers
-     * for the actor/role the engine is currently acting in.  They can remove headers they 
-     * understand from the map so those headers, if marked mustUnderstand and not yet processed, 
-     * do not cause a mustUnderstand fault to be thrown.
-     * 
-     * @return an iterator over SOAPMustUnderstandHeaderChecker implementations.  It may be
-     *  empty if none are configured.
-     */
-    public Iterator getMustUnderstandHeaderCheckers() {
-        return mustUnderstandHeaderCheckers.iterator();
-    }
-
-    /**
-     * Add an implementation of SOAPMustUnderstandHeaderChecker to the list of checkers. 
-     * 
-     * @param checker The implementation to be added.
-     */
-    public void addMustUnderstandHeaderChecker(SOAPMustUnderstandHeaderChecker checker) {
-        mustUnderstandHeaderCheckers.add(checker);
-    }
 
     public void addLocalPolicyAssertion(QName name) {
         this.localPolicyAssertions.add(name);
@@ -1123,4 +1096,3 @@
         }
     }
 }
-

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisEngine.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisEngine.java?view=diff&rev=557028&r1=557027&r2=557028
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisEngine.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisEngine.java Tue Jul 17 12:00:23 2007
@@ -36,13 +36,11 @@
 import org.apache.axis2.util.CallbackReceiver;
 import org.apache.axis2.util.LoggingControl;
 import org.apache.axis2.util.MessageContextBuilder;
-import org.apache.axis2.util.SOAPMustUnderstandHeaderChecker;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
 import javax.xml.namespace.QName;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.Iterator;
 
 /**
@@ -65,10 +63,7 @@
     public AxisEngine(ConfigurationContext engineContext) {
     }
 
-    public static void checkMustUnderstand(MessageContext msgContext) throws AxisFault {
-        if (msgContext == null) {
-            return;
-        }
+    private static void checkMustUnderstand(MessageContext msgContext) throws AxisFault {
         SOAPEnvelope envelope = msgContext.getEnvelope();
         if (envelope.getHeader() == null) {
             return;
@@ -77,12 +72,9 @@
         // Get all the headers targeted to us
         Iterator headerBlocks = envelope.getHeader().getHeadersToProcess(null);
 
-        // Have the mustUnderstand Header checkers remove any headers from the list they understand
-        Iterator notUnderstoodHeaders = removeUnderstoodHeaders(msgContext, headerBlocks);
-        
-        while (notUnderstoodHeaders.hasNext()) {
-            SOAPHeaderBlock headerBlock = (SOAPHeaderBlock) notUnderstoodHeaders.next();
-            
+        while (headerBlocks.hasNext()) {
+            SOAPHeaderBlock headerBlock = (SOAPHeaderBlock) headerBlocks.next();
+
             // if this header block has been processed or mustUnderstand isn't
             // turned on then its cool
             if (headerBlock.isProcessed() || !headerBlock.getMustUnderstand()) {
@@ -97,51 +89,6 @@
         }
     }
 
-    private static Iterator removeUnderstoodHeaders(MessageContext msgContext, Iterator headerBlocks) {
-        Iterator mustUnderstandCheckers = msgContext.getConfigurationContext()
-            .getAxisConfiguration().getMustUnderstandHeaderCheckers();
-        Iterator notUnderstoodHeaders = null;
-        
-        if (mustUnderstandCheckers != null && mustUnderstandCheckers.hasNext()) {
-            // Create a map of the headers that need to be understood keyed by the header QName 
-            // to make it easy for the checkers to find the headers they understand, then let 
-            // each of the checkers remove any headers from the map that they will understand.
-            // REVIEW: Can there be duplicate SOAP header QNames?  If so, the vaules of the map 
-            // need to be a linked list or the collection needs to support duplicate keys.
-            HashMap notYetUnderstoodHeaders = new HashMap();
-            while (headerBlocks.hasNext()) {
-                SOAPHeaderBlock headerBlock = (SOAPHeaderBlock) headerBlocks.next();
-                notYetUnderstoodHeaders.put(headerBlock.getQName(), headerBlock);
-            }
-            
-            while (mustUnderstandCheckers.hasNext()) {
-                SOAPMustUnderstandHeaderChecker checker = 
-                    (SOAPMustUnderstandHeaderChecker) mustUnderstandCheckers.next();
-                if (LoggingControl.debugLoggingAllowed && log.isDebugEnabled()) {
-                    log.debug("Before calling mustUnderstandChecker " 
-                              + checker
-                              + " list of not-yet-understood headers is: " 
-                              + notYetUnderstoodHeaders);
-                }
-
-                notYetUnderstoodHeaders = 
-                    checker.removeUnderstoodHeaders(msgContext, notYetUnderstoodHeaders);
-
-                if (LoggingControl.debugLoggingAllowed && log.isDebugEnabled()) {
-                    log.debug("After calling mustUnderstandChecker " 
-                              + checker
-                              + " list of not-yet-understood headers is: " 
-                              + notYetUnderstoodHeaders);
-                }
-            }
-            notUnderstoodHeaders = notYetUnderstoodHeaders.values().iterator();
-        } else {
-            // There are no validators, so just return the Iterator paramster unchanged
-            notUnderstoodHeaders = headerBlocks;
-        }
-        return notUnderstoodHeaders;
-    }
-    
     /**
      * This method is called to handle any error that occurs at inflow or outflow. But if the
      * method is called twice, it implies that sending the error handling has failed, in which case
@@ -185,9 +132,9 @@
             InvocationResponse pi = invoke(msgContext, NOT_RESUMING_EXECUTION);
 
             if (pi.equals(InvocationResponse.CONTINUE)) {
-                checkMustUnderstand(msgContext);
                 if (msgContext.isServerSide()) {
                     // invoke the Message Receivers
+                    checkMustUnderstand(msgContext);
 
                     MessageReceiver receiver = msgContext.getAxisOperation().getMessageReceiver();
                     if (receiver == null) {
@@ -330,9 +277,9 @@
         //invoking the MR
 
         if (pi.equals(InvocationResponse.CONTINUE)) {
-            checkMustUnderstand(msgContext);
             if (msgContext.isServerSide()) {
                 // invoke the Message Receivers
+                checkMustUnderstand(msgContext);
                 MessageReceiver receiver = msgContext.getAxisOperation().getMessageReceiver();
                 if (receiver == null) {
                     throw new AxisFault(Messages.getMessage(



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org