jmsnell     2003/01/15 14:04:39

  Modified:    java/src/org/apache/axis/description OperationDesc.java
  Log:
  Fixing a problem with the getOutputParamByQName method.  See bug #16141
  
  Revision  Changes    Path
  1.31      +13 -9     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.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- OperationDesc.java        17 Dec 2002 13:35:03 -0000      1.30
  +++ OperationDesc.java        15 Jan 2003 22:04:38 -0000      1.31
  @@ -359,18 +359,22 @@
           ParameterDesc param = null;
   
           for (Iterator i = parameters.iterator(); i.hasNext();) {
  -            param = (ParameterDesc) i.next();
  +            ParameterDesc pnext = (ParameterDesc)i.next();
               if (param.getQName().equals(qname) &&
  -                    param.getMode() != ParameterDesc.IN)
  -                return param;
  +                    param.getMode() != ParameterDesc.IN) {
  +                param = pnext;
  +                break;
  +            }
           }
   
  -        if (null == returnDesc.getQName() ){
  -            param= new ParameterDesc( returnDesc); //Create copy
  -            param.setQName(qname);
  -        }
  -        else if ( qname.equals(returnDesc.getQName())) {
  -            param = returnDesc;
  +        if (param == null) {
  +            if (null == returnDesc.getQName() ){
  +                param= new ParameterDesc( returnDesc); //Create copy
  +                param.setQName(qname);
  +            }
  +            else if ( qname.equals(returnDesc.getQName())) {
  +                param = returnDesc;
  +            }
           }
   
           return param;
  
  
  


Reply via email to