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 di...@apache.org on 2003/07/03 18:58:31 UTC

cvs commit: xml-axis/java/src/org/apache/axis/description ServiceDesc.java

dims        2003/07/03 09:58:31

  Modified:    java/src/org/apache/axis/description ServiceDesc.java
  Log:
  Fix for Bug 20930 - Input parameter resolution by QName always fails in 1.1 final
  from dave_marquard@forgent.com
  
  Revision  Changes    Path
  1.78      +5 -3      xml-axis/java/src/org/apache/axis/description/ServiceDesc.java
  
  Index: ServiceDesc.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/description/ServiceDesc.java,v
  retrieving revision 1.77
  retrieving revision 1.78
  diff -u -r1.77 -r1.78
  --- ServiceDesc.java	5 Jun 2003 14:13:36 -0000	1.77
  +++ ServiceDesc.java	3 Jul 2003 16:58:30 -0000	1.78
  @@ -1146,15 +1146,17 @@
               for (int k = 0; k < paramTypes.length; k++) {
                   Class type = paramTypes[k];
                   ParameterDesc paramDesc = new ParameterDesc();
  -                String opNamespace = operation.getElementQName().getNamespaceURI();
  +                // param should be unqualified if we're using rpc style,
  +                // or should use the operation's namespace if its document style
  +                String paramNamespace = (this.style == Style.RPC ? "" : operation.getElementQName().getNamespaceURI());
   
                   // If we have a name for this param, use it, otherwise call
                   // it "in*"
                   if (paramNames != null && paramNames[k] != null &&
                           paramNames[k].length()>0) {
  -                    paramDesc.setQName(new QName(opNamespace, paramNames[k]));
  +                    paramDesc.setQName(new QName(paramNamespace, paramNames[k]));
                   } else {
  -                    paramDesc.setQName(new QName(opNamespace, "in" + k));
  +                    paramDesc.setQName(new QName(paramNamespace, "in" + k));
                   }
   
                   // If it's a Holder, mark it INOUT, and set the XML type QName