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