rineholt    2002/09/24 20:55:17

  Modified:    java/src/org/apache/axis/description OperationDesc.java
                        ParameterDesc.java
  Log:
  When the same Call object is used repeatedly with only changing the method name
  and not specifying parameters the modifying of the operation desc's returnDesc 
changes
  it name the first time
  from null to the name of the fist call. Since they are only references this affects
  message context and the call objects version.  Message Context is cleaned, but not
  Call object's version which set's message contexts, Next time around the qname is 
not null
  and no param desc is returned throwing an exception.
  
  Changed it so in the case of null name return a copy.
  
  Revision  Changes    Path
  1.22      +5 -3      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.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- OperationDesc.java        24 Sep 2002 21:02:23 -0000      1.21
  +++ OperationDesc.java        25 Sep 2002 03:55:16 -0000      1.22
  @@ -316,10 +316,12 @@
           }
   
           if ((param == null) || (param.getMode() == ParameterDesc.IN)) {
  -            if (returnDesc.getQName() == null ||
  -                    qname.equals(returnDesc.getQName())) {
  -                param = returnDesc;
  +            if (null == returnDesc.getQName() ){
  +                param= new ParameterDesc( returnDesc); //Create copy
                   param.setQName(qname);
  +            }
  +            else if ( qname.equals(returnDesc.getQName())) {
  +                param = returnDesc;
               }
           }
   
  
  
  
  1.22      +16 -0     xml-axis/java/src/org/apache/axis/description/ParameterDesc.java
  
  Index: ParameterDesc.java
  ===================================================================
  RCS file: 
/home/cvs/xml-axis/java/src/org/apache/axis/description/ParameterDesc.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- ParameterDesc.java        18 Sep 2002 16:10:44 -0000      1.21
  +++ ParameterDesc.java        25 Sep 2002 03:55:16 -0000      1.22
  @@ -102,6 +102,22 @@
       }
   
       /**
  +     * Constructor-copy
  +     *
  +     * @param copy the copy 
  +     */
  +    public ParameterDesc(ParameterDesc copy) {
  +      name= copy.name;
  +      typeEntry= copy.typeEntry;
  +      mode= copy.mode;
  +      typeQName= copy.typeQName;
  +      javaType= copy.javaType;
  +      order= copy.order;
  +      isReturn= copy.isReturn;
  +      mimeType= copy.mimeType;
  +    }
  +
  +    /**
        * Constructor
        *
        * @param name the parameter's fully qualified XML name
  
  
  


Reply via email to