Thanks for the fix, James! However, um, wouldn't just adding "else { param = null; }" to the final if in the earlier version have been a little simpler?
--G > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, January 15, 2003 5:05 PM > To: [EMAIL PROTECTED] > Subject: cvs commit: xml-axis/java/src/org/apache/axis/description > OperationDesc.java > > > 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/Operat > ionDesc.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; > > > >