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 gd...@apache.org on 2002/10/07 04:23:29 UTC

cvs commit: xml-axis/java/test/wsdl/types ComprehensiveTypes.wsdl

gdaniels    2002/10/06 19:23:29

  Modified:    java/src/org/apache/axis Tag: interop4 AxisFault.java
               java/src/org/apache/axis/description Tag: interop4
                        OperationDesc.java
               java/src/org/apache/axis/encoding Tag: interop4
                        Deserializer.java DeserializerImpl.java
                        DeserializerTarget.java
               java/src/org/apache/axis/encoding/ser Tag: interop4
                        ArrayDeserializer.java BeanDeserializer.java
                        MapDeserializer.java SimpleDeserializer.java
                        VectorDeserializer.java
               java/src/org/apache/axis/message Tag: interop4
                        SOAPFault.java SOAPFaultBuilder.java
               java/src/org/apache/axis/wsdl/toJava Tag: interop4
                        JavaBeanFaultWriter.java
               java/test/wsdl/inout Tag: interop4 inout.wsdl
               java/test/wsdl/interop4/groupH/simpleDocLit Tag: interop4
                        build.xml
               java/test/wsdl/types Tag: interop4 ComprehensiveTypes.wsdl
  Log:
  * In AxisFault, treat faultCode as a QName all the time, with a
    different accessor (setFaultCodeAsString()) for two reasons;
    clarity, and so as not to confuse a deserializer treating a
    fault as a bean.
  
  * To deserialize faults as beans, we're currently enabling
    setters on the fault classes.  This is prohibited by JAX-RPC,
    so we should see if this breaks the TCK.  To deal with this
    (IMO incorrect) restriction, we'll have to do some funky
    tricks with understanding the order of the parameters in the
    fault's constructor, and only construct the object after
    all the values are assembled.  Will do this work later if
    necessary.
  
  * Bulletproof OperationDesc.getFaultByQName()
  
  * Fix the framework architecture for deserializing pieces of
    "containers" like beans/arrays/maps/faults.  We now support
    a concept of "active child deserializers" in the base
    DeserializerImpl class.  Each time a Deserializer gets a
    child deserializer, it adds the child to the list of active
    children and adds a CallbackTarget so that it will be
    notified when the child's value has been deserialized.
  
    We now use this mechanism to keep track of when a structured
    entity is actually complete, so the valueComplete()/callback
    system actually works.  The Array, Bean, Map, and Vector
    deserializers have been changed to fit.
  
    To make this work cleanly, we no longer overload the Callback
    setValue() method in the individual Deserializers (ArrayDeser,
    etc).  Now the DeserializerTarget uses the setChildValue()
    method to cleanly separate the propagation of actual values
    from the framework-managed structural completion code.
  
    This allows faults with multi-ref data to be correctly
    deserialized, cleans up the deserializers to use a common
    pattern, and should correct various problems we were
    having with streaming deserialization.
  
  * inout.wsdl was syntactically incorrect wrt faults, as are
    several other of our test WSDLs.
  
  * ComprehensiveTypes.wsdl was also incorrect, and it also
    mixes rpc/encoded with rpc/literal (elemWComplex uses
    <part element="">).  Fix the fault part now, figure out
    what we're going to do about the rpc/lit part later.
  
  We now pass the complexRpcEnc fault test.  ComplexDocLit next.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.58.2.3  +5 -5      xml-axis/java/src/org/apache/axis/AxisFault.java
  
  Index: AxisFault.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/AxisFault.java,v
  retrieving revision 1.58.2.2
  retrieving revision 1.58.2.3
  diff -u -r1.58.2.2 -r1.58.2.3
  --- AxisFault.java	4 Oct 2002 23:36:34 -0000	1.58.2.2
  +++ AxisFault.java	7 Oct 2002 02:23:27 -0000	1.58.2.3
  @@ -146,7 +146,7 @@
       protected AxisFault(Exception target) {
           super ("", target);
   
  -        setFaultCode( Constants.FAULT_SERVER_USER );
  +        setFaultCodeAsString( Constants.FAULT_SERVER_USER );
           
           initFromException(target);
       }
  @@ -154,7 +154,7 @@
       public AxisFault(String message)
       {
           super (message);
  -        setFaultCode(Constants.FAULT_SERVER_GENERAL);
  +        setFaultCodeAsString(Constants.FAULT_SERVER_GENERAL);
           setFaultString(message);
           initFromException(this);
       }
  @@ -165,14 +165,14 @@
       public AxisFault()
       {
           super();
  -        setFaultCode(Constants.FAULT_SERVER_GENERAL);     
  +        setFaultCodeAsString(Constants.FAULT_SERVER_GENERAL);     
           initFromException(this);
       }
   
       public AxisFault (String message, Throwable t)
       {
           super (message, t);
  -        setFaultCode(Constants.FAULT_SERVER_GENERAL);
  +        setFaultCodeAsString(Constants.FAULT_SERVER_GENERAL);
           setFaultString(message);
       }
   
  @@ -245,7 +245,7 @@
           faultCode = code ;
       }
   
  -    public void setFaultCode(String code) {
  +    public void setFaultCodeAsString(String code) {
           faultCode = new QName(Constants.NS_URI_AXIS, code);
       }
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.23.2.3  +6 -4      xml-axis/java/src/org/apache/axis/description/OperationDesc.java
  
  Index: OperationDesc.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/description/OperationDesc.java,v
  retrieving revision 1.23.2.2
  retrieving revision 1.23.2.3
  diff -u -r1.23.2.2 -r1.23.2.3
  --- OperationDesc.java	4 Oct 2002 23:36:33 -0000	1.23.2.2
  +++ OperationDesc.java	7 Oct 2002 02:23:27 -0000	1.23.2.3
  @@ -379,10 +379,12 @@
        * Returns null if not found.
        */ 
       public FaultDesc getFaultByQName(QName qname) {
  -        for (Iterator iterator = faults.iterator(); iterator.hasNext();) {
  -            FaultDesc desc = (FaultDesc) iterator.next();
  -            if (qname.equals(desc.getQName())) {
  -                return desc;
  +        if (faults != null) {
  +            for (Iterator iterator = faults.iterator(); iterator.hasNext();) {
  +                FaultDesc desc = (FaultDesc) iterator.next();
  +                if (qname.equals(desc.getQName())) {
  +                    return desc;
  +                }
               }
           }
           return null;
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.34.4.1  +1 -1      xml-axis/java/src/org/apache/axis/encoding/Deserializer.java
  
  Index: Deserializer.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/Deserializer.java,v
  retrieving revision 1.34
  retrieving revision 1.34.4.1
  diff -u -r1.34 -r1.34.4.1
  --- Deserializer.java	3 Aug 2002 21:25:24 -0000	1.34
  +++ Deserializer.java	7 Oct 2002 02:23:27 -0000	1.34.4.1
  @@ -112,7 +112,7 @@
        * The default implementation does nothing.
        * @param value Object representing deserialized value or null
        */
  -    public void setValue(Object value, Object hint) throws SAXException;
  +    public void setChildValue(Object value, Object hint) throws SAXException;
   
      /**
        * In some circumstances an element may not have
  
  
  
  1.30.2.3  +37 -2     xml-axis/java/src/org/apache/axis/encoding/DeserializerImpl.java
  
  Index: DeserializerImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/DeserializerImpl.java,v
  retrieving revision 1.30.2.2
  retrieving revision 1.30.2.3
  diff -u -r1.30.2.2 -r1.30.2.3
  --- DeserializerImpl.java	3 Oct 2002 14:46:15 -0000	1.30.2.2
  +++ DeserializerImpl.java	7 Oct 2002 02:23:27 -0000	1.30.2.3
  @@ -76,6 +76,7 @@
   import java.io.StringWriter;
   import java.util.Enumeration;
   import java.util.Vector;
  +import java.util.HashSet;
   
   /** The Deserializer base class.
    * 
  @@ -85,7 +86,7 @@
    */
   
   public class DeserializerImpl extends SOAPHandler
  -        implements javax.xml.rpc.encoding.Deserializer, Deserializer
  +        implements javax.xml.rpc.encoding.Deserializer, Deserializer, Callback
   {
       protected static Log log =
               LogFactory.getLog(DeserializerImpl.class.getName());
  @@ -99,7 +100,15 @@
   
       protected QName defaultType = null;
       protected boolean componentsReady = true;
  +    
  +    /**
  +     * A set of sub-deserializers whose values must complete before our
  +     * value is complete.
  +     */ 
  +    private HashSet activeDeserializers = new HashSet();
   
  +    public DeserializerImpl() {
  +    }
   
       /** 
        * JAX-RPC compliant method which returns mechanism type.
  @@ -142,10 +151,25 @@
        * The default implementation does nothing.
        * @param hint Object representing deserialized value or null
        */
  -    public void setValue(Object value, Object hint) throws SAXException
  +    public void setChildValue(Object value, Object hint) throws SAXException
       {
       }
   
  +    public void setValue(Object value, Object hint) throws SAXException {
  +        if (hint instanceof Deserializer) {
  +            // This one's done
  +            activeDeserializers.remove(hint);
  +            
  +            // If we're past the end of our XML, and this is the last one,
  +            // our value has been assembled completely.
  +            if (isEnded && activeDeserializers.isEmpty()) {
  +                // Got everything we need, call valueComplete()
  +                componentsReady = true;
  +                valueComplete();
  +            }
  +        }        
  +    }
  +
       /**
        * In some circumstances an element may not have 
        * a type attribute, but a default type qname is known from
  @@ -266,6 +290,17 @@
                   removeValueTargets();
               }
           }
  +    }
  +    
  +    public void addChildDeserializer(Deserializer dSer) {
  +        // Keep track of our active deserializers.  This enables us to figure
  +        // out whether or not we're really done in the case where we get to
  +        // our end tag, but still have open hrefs for members.
  +        activeDeserializers.add(dSer);
  +        
  +        // In concert with the above, we make sure each field deserializer
  +        // lets us know when it's done so we can take it off our list.
  +        dSer.registerValueTarget(new CallbackTarget(this, dSer));
       }
       
       protected boolean isHref = false;
  
  
  
  1.1.18.1  +1 -1      xml-axis/java/src/org/apache/axis/encoding/DeserializerTarget.java
  
  Index: DeserializerTarget.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/DeserializerTarget.java,v
  retrieving revision 1.1
  retrieving revision 1.1.18.1
  diff -u -r1.1 -r1.1.18.1
  --- DeserializerTarget.java	26 Jan 2002 02:40:33 -0000	1.1
  +++ DeserializerTarget.java	7 Oct 2002 02:23:28 -0000	1.1.18.1
  @@ -75,7 +75,7 @@
       
       public void set(Object value) throws SAXException {
           if (hint != null) {
  -            target.setValue(value, hint);
  +            target.setChildValue(value, hint);
           } else {
               target.setValue(value);
           }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.30.2.1  +6 -18     xml-axis/java/src/org/apache/axis/encoding/ser/ArrayDeserializer.java
  
  Index: ArrayDeserializer.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/ArrayDeserializer.java,v
  retrieving revision 1.30
  retrieving revision 1.30.2.1
  diff -u -r1.30 -r1.30.2.1
  --- ArrayDeserializer.java	18 Sep 2002 16:10:35 -0000	1.30
  +++ ArrayDeserializer.java	7 Oct 2002 02:23:28 -0000	1.30.2.1
  @@ -75,7 +75,6 @@
   
   import java.util.ArrayList;
   import java.util.HashMap;
  -import java.util.HashSet;
   import java.util.StringTokenizer;
   
   
  @@ -102,8 +101,6 @@
       Class arrayClass = null;
       ArrayList mDimLength = null;  // If set, array of multi-dim lengths 
       ArrayList mDimFactor = null;  // If set, array of factors for multi-dim []
  -    HashSet waiting = new HashSet();  // List of indices waiting for completion
  -
   
       /**
        * This method is invoked after startElement when the element requires
  @@ -382,7 +379,7 @@
               // If the xsi:nil attribute, set the value to null 
               // and return since there is nothing to deserialize.
               if (context.isNil(attributes)) {
  -                setValue(null, new Integer(curIndex++));
  +                setChildValue(null, new Integer(curIndex++));
                   return null;
               }
           }
  @@ -442,7 +439,10 @@
           // keep track of this index so we know when it has been set.
           dSer.registerValueTarget(
               new DeserializerTarget(this, new Integer(curIndex)));
  -        waiting.add(new Integer(curIndex));
  +        
  +        // The framework handles knowing when the value is complete, as
  +        // long as we tell it about each child we're waiting on...
  +        addChildDeserializer(dSer);
   
           curIndex++;
           
  @@ -453,13 +453,6 @@
           return (SOAPHandler)dSer;
       }
   
  -    /** 
  -     * Need to wait for all indices to be set.
  -     */
  -    public boolean componentsReady() {
  -        return (waiting.size() == 0);
  -    }
  -
       /**
        * set is called during deserialization to assign
        * the Object value to the array position indicated by hint.
  @@ -475,7 +468,7 @@
        * @param value value of the array element
        * @param hint index of the array element (Integer)
        **/
  -    public void setValue(Object value, Object hint) throws SAXException
  +    public void setChildValue(Object value, Object hint) throws SAXException
       { 
           if (log.isDebugEnabled()) {
               log.debug("Enter: ArrayDeserializer::setValue(" + value + ", " + hint + ")");
  @@ -516,11 +509,6 @@
                       list.set(index, value);
                   }
               }
  -        }
  -        // If all indices are accounted for, the array is complete.
  -        waiting.remove(hint);
  -        if (isEnded && waiting.size()==0) {
  -            valueComplete();
           }
       }
   
  
  
  
  1.55.4.1  +10 -5     xml-axis/java/src/org/apache/axis/encoding/ser/BeanDeserializer.java
  
  Index: BeanDeserializer.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/BeanDeserializer.java,v
  retrieving revision 1.55
  retrieving revision 1.55.4.1
  diff -u -r1.55 -r1.55.4.1
  --- BeanDeserializer.java	24 Sep 2002 23:27:35 -0000	1.55
  +++ BeanDeserializer.java	7 Oct 2002 02:23:28 -0000	1.55.4.1
  @@ -64,9 +64,7 @@
   import org.apache.axis.message.SOAPHandler;
   import org.apache.axis.message.MessageElement;
   import org.apache.axis.utils.BeanPropertyDescriptor;
  -import org.apache.axis.utils.JavaUtils;
   import org.apache.axis.utils.Messages;
  -import org.apache.axis.wsdl.symbolTable.SchemaUtils;
   
   import org.apache.axis.components.logger.LogFactory;
   import org.apache.commons.logging.Log;
  @@ -273,8 +271,10 @@
           // It is an error if the dSer is not found, the base
           // deserializer impl is returned so that it can generate the correct message.
           if (dSer == null) {
  -            dSer = new DeserializerImpl();
  -            return (SOAPHandler)dSer;
  +            throw new SAXException(Messages.getMessage("noDeser00",
  +                                                       childXMLType.toString()));
  +//            dSer = new DeserializerImpl();
  +//            return (SOAPHandler)dSer;
           }
   
           // Register value target
  @@ -301,9 +301,14 @@
                                                                   propDesc));
               }
           }
  +        
  +        // Let the framework know that we need this deserializer to complete
  +        // for the bean to complete.
  +        addChildDeserializer(dSer);
  +        
           return (SOAPHandler)dSer;
       }
  -
  +    
       /**
        * Get a BeanPropertyDescriptor which indicates where we should
        * put extensibility elements (i.e. XML which falls under the
  
  
  
  1.21.2.1  +12 -7     xml-axis/java/src/org/apache/axis/encoding/ser/MapDeserializer.java
  
  Index: MapDeserializer.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/MapDeserializer.java,v
  retrieving revision 1.21
  retrieving revision 1.21.2.1
  diff -u -r1.21 -r1.21.2.1
  --- MapDeserializer.java	18 Sep 2002 16:10:35 -0000	1.21
  +++ MapDeserializer.java	7 Oct 2002 02:23:28 -0000	1.21.2.1
  @@ -55,13 +55,11 @@
   
   package org.apache.axis.encoding.ser;
   
  -import org.apache.axis.Constants;
   import org.apache.axis.encoding.DeserializationContext;
   import org.apache.axis.encoding.Deserializer;
   import org.apache.axis.encoding.DeserializerImpl;
   import org.apache.axis.encoding.DeserializerTarget;
   import org.apache.axis.message.SOAPHandler;
  -import org.apache.axis.utils.JavaUtils;
   import org.apache.axis.utils.Messages;
   
   import org.apache.axis.components.logger.LogFactory;
  @@ -148,13 +146,16 @@
               log.debug("Enter: MapDeserializer::onStartChild()");
           }
   
  -        SOAPHandler sh = new ItemHandler(this);
  +        ItemHandler handler = new ItemHandler(this);
  +        
  +        // This item must be complete before we're complete...
  +        addChildDeserializer(handler);
           
           if (log.isDebugEnabled()) {
               log.debug("Exit: MapDeserializer::onStartChild()");
           }
   
  -        return sh;
  +        return handler;
       }
       
       /**
  @@ -163,7 +164,7 @@
        * @param value is the value of an element
        * @param hint is the key
        */
  -    public void setValue(Object value, Object hint) throws SAXException
  +    public void setChildValue(Object value, Object hint) throws SAXException
       {
           if (log.isDebugEnabled()) {
               log.debug(Messages.getMessage("gotValue00", "MapDeserializer", "" + value));
  @@ -191,7 +192,7 @@
            * whether the passed "val" argument is the key or the value
            * for this mapping.
            */
  -        public void setValue(Object val, Object hint) throws SAXException 
  +        public void setChildValue(Object val, Object hint) throws SAXException 
           {
               if (hint == KEYHINT) {
                   key = val;
  @@ -202,7 +203,7 @@
               }
               numSet++;
               if (numSet == 2)
  -                md.setValue(myValue, key);
  +                md.setChildValue(myValue, key);
           }
           
           public SOAPHandler onStartChild(String namespace,
  @@ -238,6 +239,10 @@
               if (dt != null) {
                   dser.registerValueTarget(dt);
               }
  +            
  +            // We need this guy to complete for us to complete.
  +            addChildDeserializer(dser);
  +            
               return (SOAPHandler)dser;
           }
       }
  
  
  
  1.28.2.2  +0 -1      xml-axis/java/src/org/apache/axis/encoding/ser/SimpleDeserializer.java
  
  Index: SimpleDeserializer.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/SimpleDeserializer.java,v
  retrieving revision 1.28.2.1
  retrieving revision 1.28.2.2
  diff -u -r1.28.2.1 -r1.28.2.2
  --- SimpleDeserializer.java	3 Oct 2002 14:46:15 -0000	1.28.2.1
  +++ SimpleDeserializer.java	7 Oct 2002 02:23:28 -0000	1.28.2.2
  @@ -64,7 +64,6 @@
   import org.apache.axis.message.SOAPHandler;
   import org.apache.axis.utils.BeanPropertyDescriptor;
   import org.apache.axis.utils.BeanUtils;
  -import org.apache.axis.utils.JavaUtils;
   import org.apache.axis.utils.Messages;
   import org.xml.sax.Attributes;
   import org.xml.sax.SAXException;
  
  
  
  1.20.2.1  +7 -4      xml-axis/java/src/org/apache/axis/encoding/ser/VectorDeserializer.java
  
  Index: VectorDeserializer.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/VectorDeserializer.java,v
  retrieving revision 1.20
  retrieving revision 1.20.2.1
  diff -u -r1.20 -r1.20.2.1
  --- VectorDeserializer.java	18 Sep 2002 16:10:35 -0000	1.20
  +++ VectorDeserializer.java	7 Oct 2002 02:23:28 -0000	1.20.2.1
  @@ -55,13 +55,11 @@
   
   package org.apache.axis.encoding.ser;
   
  -import org.apache.axis.Constants;
   import org.apache.axis.encoding.DeserializationContext;
   import org.apache.axis.encoding.Deserializer;
   import org.apache.axis.encoding.DeserializerImpl;
   import org.apache.axis.encoding.DeserializerTarget;
   import org.apache.axis.message.SOAPHandler;
  -import org.apache.axis.utils.JavaUtils;
   import org.apache.axis.utils.Messages;
   
   import org.apache.axis.components.logger.LogFactory;
  @@ -146,7 +144,7 @@
           // If the xsi:nil attribute, set the value to null and return since
           // there is nothing to deserialize.
           if (context.isNil(attributes)) {
  -            setValue(null, new Integer(curIndex++));
  +            setChildValue(null, new Integer(curIndex++));
               return null;
           }
   
  @@ -172,6 +170,11 @@
           if (log.isDebugEnabled()) {
               log.debug("Exit: VectorDeserializer::onStartChild()");
           }
  +        
  +        // Let the framework know that we aren't complete until this guy
  +        // is complete.
  +        addChildDeserializer(dSer);
  +        
           return (SOAPHandler)dSer;
       }
       
  @@ -181,7 +184,7 @@
        * @param value is the value of an element
        * @param hint is an Integer containing the index
        */
  -    public void setValue(Object value, Object hint) throws SAXException
  +    public void setChildValue(Object value, Object hint) throws SAXException
       {
           if (log.isDebugEnabled()) {
               log.debug(Messages.getMessage("gotValue00", "VectorDeserializer", "" + value));
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.8.2.3   +1 -1      xml-axis/java/src/org/apache/axis/message/SOAPFault.java
  
  Index: SOAPFault.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/SOAPFault.java,v
  retrieving revision 1.8.2.2
  retrieving revision 1.8.2.3
  diff -u -r1.8.2.2 -r1.8.2.3
  --- SOAPFault.java	4 Oct 2002 23:36:33 -0000	1.8.2.2
  +++ SOAPFault.java	7 Oct 2002 02:23:28 -0000	1.8.2.3
  @@ -179,7 +179,7 @@
        *     tree.
        */
       public void setFaultCode(String faultCode) throws SOAPException {
  -        fault.setFaultCode(faultCode);
  +        fault.setFaultCodeAsString(faultCode);
       }
       
       /**
  
  
  
  1.23.8.4  +2 -9      xml-axis/java/src/org/apache/axis/message/SOAPFaultBuilder.java
  
  Index: SOAPFaultBuilder.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/SOAPFaultBuilder.java,v
  retrieving revision 1.23.8.3
  retrieving revision 1.23.8.4
  diff -u -r1.23.8.3 -r1.23.8.4
  --- SOAPFaultBuilder.java	3 Oct 2002 14:46:15 -0000	1.23.8.3
  +++ SOAPFaultBuilder.java	7 Oct 2002 02:23:28 -0000	1.23.8.4
  @@ -96,7 +96,7 @@
       protected Object faultData = null;
   
       static {
  -        fields.put(Constants.ELEM_FAULT_CODE, Constants.XSD_STRING);
  +        fields.put(Constants.ELEM_FAULT_CODE, Constants.XSD_QNAME);
           fields.put(Constants.ELEM_FAULT_STRING, Constants.XSD_STRING);
           fields.put(Constants.ELEM_FAULT_ACTOR, Constants.XSD_STRING);
           fields.put(Constants.ELEM_FAULT_DETAIL, null);
  @@ -252,14 +252,7 @@
       {
           String name = (String)hint;
           if (name.equals(Constants.ELEM_FAULT_CODE)) {
  -            QName qname = context.getQNameFromString((String)value);
  -            if (qname != null) {
  -                //??when would QName make sense, this would be app specific
  -                faultCode = qname;
  -            } else {
  -                //?? Where would namespace come from
  -                faultCode = new QName("",(String) value);
  -            }
  +            faultCode = (QName)value;
           } else if (name.equals(Constants.ELEM_FAULT_STRING)) {
               faultString = (String) value;
           } else if (name.equals(Constants.ELEM_FAULT_ACTOR)) {
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.2.4.2   +1 -3      xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaBeanFaultWriter.java
  
  Index: JavaBeanFaultWriter.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaBeanFaultWriter.java,v
  retrieving revision 1.2.4.1
  retrieving revision 1.2.4.2
  diff -u -r1.2.4.1 -r1.2.4.2
  --- JavaBeanFaultWriter.java	4 Oct 2002 23:36:02 -0000	1.2.4.1
  +++ JavaBeanFaultWriter.java	7 Oct 2002 02:23:28 -0000	1.2.4.2
  @@ -98,7 +98,7 @@
           enableFullConstructor = true;
   
           // JSR 101 v1.0 does not support write access methods
  -        enableSetters = false;
  +        enableSetters = true;
       } // ctor
       
       /**
  @@ -136,9 +136,7 @@
           pw.println("     * Writes the exception data to the faultDetails");
           pw.println("     */");
           pw.println("    public void writeDetails(javax.xml.namespace.QName qname, org.apache.axis.encoding.SerializationContext context) throws java.io.IOException {");
  -/*        pw.println("        javax.xml.namespace.QName qname = new QName();");
           pw.println("        context.serialize(qname, null, this);");
  -*/
           pw.println("    }");
           
           super.writeFileFooter(pw);
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.3.2.1   +140 -0    xml-axis/java/test/wsdl/inout/inout.wsdl
  
  Index: inout.wsdl
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/test/wsdl/inout/inout.wsdl,v
  retrieving revision 1.3
  retrieving revision 1.3.2.1
  diff -u -r1.3 -r1.3.2.1
  --- inout.wsdl	29 Sep 2002 19:35:52 -0000	1.3
  +++ inout.wsdl	7 Oct 2002 02:23:28 -0000	1.3.2.1
  @@ -286,6 +286,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="out0Inout0In1">
  @@ -301,6 +306,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="out0Inout0InMany">
  @@ -316,6 +326,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="out0Inout1In0">
  @@ -331,6 +346,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="out0Inout1In1">
  @@ -346,6 +366,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="out0Inout1InMany">
  @@ -361,6 +386,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="out0InoutManyIn0">
  @@ -376,6 +406,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="out0InoutManyIn1">
  @@ -391,6 +426,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="out0InoutManyInMany">
  @@ -406,6 +446,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="out1Inout0In0">
  @@ -421,6 +466,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="out1Inout0In1">
  @@ -436,6 +486,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="out1Inout0InMany">
  @@ -451,6 +506,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="out1Inout1In0">
  @@ -466,6 +526,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="out1Inout1In1">
  @@ -481,6 +546,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="out1Inout1InMany">
  @@ -496,6 +566,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="out1InoutManyIn0">
  @@ -511,6 +586,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="out1InoutManyIn1">
  @@ -526,6 +606,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="out1InoutManyInMany">
  @@ -541,6 +626,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="outManyInout0In0">
  @@ -556,6 +646,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="outManyInout0In1">
  @@ -571,6 +666,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="outManyInout0InMany">
  @@ -586,6 +686,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="outManyInout1In0">
  @@ -601,6 +706,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="outManyInout1In1">
  @@ -616,6 +726,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="outManyInout1InMany">
  @@ -631,6 +746,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="outManyInoutManyIn0">
  @@ -646,6 +766,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="outManyInoutManyIn1">
  @@ -661,6 +786,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="outManyInoutManyInMany">
  @@ -676,6 +806,11 @@
                      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
         <fault name="TestFailed">
  +          <soap:fault 
  +              name="TestFailed"
  +              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +              use="encoded"
  +              namespace="http://www.apache.org/inout"/>
         </fault>
       </operation>
       <operation name="dateInout">
  @@ -692,6 +827,11 @@
         </output>
       </operation>
       <fault name="TestFailed">
  +        <soap:fault 
  +            name="TestFailed"
  +            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +            use="encoded"
  +            namespace="http://www.apache.org/inout"/>
       </fault>
     </binding>
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.2   +3 -1      xml-axis/java/test/wsdl/interop4/groupH/simpleDocLit/Attic/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/test/wsdl/interop4/groupH/simpleDocLit/Attic/build.xml,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- build.xml	5 Oct 2002 06:14:49 -0000	1.1.2.1
  +++ build.xml	7 Oct 2002 02:23:28 -0000	1.1.2.2
  @@ -55,8 +55,10 @@
           <wsdl2java url="${axis.home}/test/wsdl/interop4/groupH/simpleDocLit/simple-doc-literal.wsdl"
               output="${root.dir}/build/work" skeletonDeploy="no"
               serverSide="yes">
  -            <mapping namespace="http://soapinterop.org/types" package="test.wsdl.interop4.groupH.simpleDocLit"/>
               <mapping namespace="http://soapinterop.org/wsdl" package="test.wsdl.interop4.groupH.simpleDocLit"/>
  +            <mapping namespace="http://soapinterop.org/types" package="test.wsdl.interop4.groupH.simpleDocLit"/>
  +            <mapping namespace="http://soapinterop.org/types/part" package="test.wsdl.interop4.groupH.simpleDocLit"/>
  +            <mapping namespace="http://soapinterop.org/types/requestresponse" package="test.wsdl.interop4.groupH.simpleDocLit"/>
           </wsdl2java>
           
           <mkdir dir="${build.dest}"/>
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.45.4.1  +11 -5     xml-axis/java/test/wsdl/types/ComprehensiveTypes.wsdl
  
  Index: ComprehensiveTypes.wsdl
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/test/wsdl/types/ComprehensiveTypes.wsdl,v
  retrieving revision 1.45
  retrieving revision 1.45.4.1
  diff -u -r1.45 -r1.45.4.1
  --- ComprehensiveTypes.wsdl	24 Sep 2002 17:30:29 -0000	1.45
  +++ ComprehensiveTypes.wsdl	7 Oct 2002 02:23:29 -0000	1.45.4.1
  @@ -1037,7 +1037,13 @@
         <input message="tns:emptyComplexType"/>
         <output message="tns:empty"/>
         <fault name="emptyFault" message="tns:emptyFault"/>
  +        <!-- Can't have faults with <part element=""> in an RPC service...
  +             Don't know what the intent was here, but since no one is actually
  +             throwing this fault, commenting it out because it's now triggering
  +             our more-draconian error checking.
  +             
         <fault name="faultWithElement" message="tns:faultWithElement"/>
  +      -->
       </operation>
       <operation name="emptyComplexTypeInout" parameterOrder="emptyComplexType">
         <input message="tns:emptyComplexType"/>
  @@ -1808,8 +1814,8 @@
               namespace=""
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
  -      <fault>
  -        <soap:fault name="emptyFault" use="encoded"/>
  +      <fault name="emptyFault">
  +          <soap:fault name="emptyFault" use="encoded"/>
         </fault>
       </operation>
       <operation name="emptyComplexTypeInout">
  @@ -1826,7 +1832,7 @@
               namespace=""
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
  -      <fault>
  +      <fault name="emptyFault">
           <soap:fault name="emptyFault" use="encoded"/>
         </fault>
       </operation>
  @@ -1844,7 +1850,7 @@
               namespace=""
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
  -      <fault>
  +      <fault name="emptyFault">
           <soap:fault name="emptyFault" use="encoded"/>
         </fault>
       </operation>
  @@ -1862,7 +1868,7 @@
               namespace=""
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
  -      <fault>
  +      <fault name="emptyFault">
           <soap:fault name="emptyFault" use="encoded"/>
         </fault>
       </operation>