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 di...@apache.org on 2004/07/02 20:22:21 UTC

cvs commit: ws-axis/java/src/org/apache/axis/handlers/soap MustUnderstandChecker.java

dims        2004/07/02 11:22:21

  Modified:    java/src/org/apache/axis/handlers/soap
                        MustUnderstandChecker.java
  Log:
  Ignore MU if the header is destined to reach the operation.
  
  Revision  Changes    Path
  1.3       +9 -0      ws-axis/java/src/org/apache/axis/handlers/soap/MustUnderstandChecker.java
  
  Index: MustUnderstandChecker.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/handlers/soap/MustUnderstandChecker.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- MustUnderstandChecker.java	22 Jun 2004 16:58:23 -0000	1.2
  +++ MustUnderstandChecker.java	2 Jul 2004 18:22:21 -0000	1.3
  @@ -20,6 +20,7 @@
   import org.apache.axis.Constants;
   import org.apache.axis.MessageContext;
   import org.apache.axis.Message;
  +import org.apache.axis.description.OperationDesc;
   import org.apache.axis.components.logger.LogFactory;
   import org.apache.axis.handlers.BasicHandler;
   import org.apache.axis.message.SOAPEnvelope;
  @@ -73,6 +74,14 @@
           while (enumeration.hasMoreElements()) {
               SOAPHeaderElement header = (SOAPHeaderElement) enumeration.
                       nextElement();
  +            
  +            // Ignore header, if it is a parameter to the operation 
  +            if(msgContext != null && msgContext.getOperation() != null) {
  +                OperationDesc oper = msgContext.getOperation();
  +                if(oper.getParamByQName(header.getQName())!=null) {
  +                    continue;
  +                }                    
  +            }
               if (header.getMustUnderstand() && !header.isProcessed()) {
                   if (misunderstoodHeaders == null)
                       misunderstoodHeaders = new Vector();