scheu       02/04/05 09:38:41

  Modified:    java/src/org/apache/axis/wsdl/toJava JavaStubWriter.java
  Log:
  Changed the stub to specify both xmlType and javaType in the call to 
Call.addParameter.
  
  Revision  Changes    Path
  1.53      +20 -7     
xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaStubWriter.java
  
  Index: JavaStubWriter.java
  ===================================================================
  RCS file: 
/home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaStubWriter.java,v
  retrieving revision 1.52
  retrieving revision 1.53
  diff -u -r1.52 -r1.53
  --- JavaStubWriter.java       28 Mar 2002 13:33:25 -0000      1.52
  +++ JavaStubWriter.java       5 Apr 2002 17:38:40 -0000       1.53
  @@ -501,13 +501,22 @@
   
               // We need to use the Qname of the actual type, not the QName of the 
element
               QName qn = p.getType().getQName();
  +            String javaType = p.getType().getName();
               if (p.getType() instanceof DefinedElement) {
  -                Node node = symbolTable.getTypeEntry(p.getType().getQName(), 
true).getNode();
  +                Node node = 
  +                    symbolTable.getTypeEntry(p.getType().getQName(), 
true).getNode();
                   QName qn2 = Utils.getNodeTypeRefQName(node, "type");
                   if (qn2 != null) {
                       qn = qn2;
  +                    javaType = symbolTable.getType(qn).getName();
  +
                   }
               }
  +            if (javaType != null) {
  +                javaType += ".class, ";
  +            } else {
  +                javaType = "";
  +            }
   
               String typeString = "new javax.xml.rpc.namespace.QName(\"" +
                       qn.getNamespaceURI() + "\", \"" +
  @@ -519,15 +528,18 @@
                       paramQName.getLocalPart() + "\");");
               if (p.getMode() == Parameter.IN) {
                   pw.println("        call.addParameter(" + qnName + ", "
  -                           + typeString + ", javax.xml.rpc.ParameterMode.IN);");
  +                           + typeString + ", " 
  +                           + javaType + "javax.xml.rpc.ParameterMode.IN);");
               }
               else if (p.getMode() == Parameter.INOUT) {
                   pw.println("        call.addParameter(" + qnName + ", "
  -                           + typeString + ", javax.xml.rpc.ParameterMode.INOUT);");
  +                           + typeString + ", " 
  +                           + javaType + "javax.xml.rpc.ParameterMode.INOUT);");
               }
               else { // p.getMode() == Parameter.OUT
                   pw.println("        call.addParameter(" + qnName + ", "
  -                           + typeString + ", javax.xml.rpc.ParameterMode.OUT);");
  +                           + typeString + ", " 
  +                           + javaType + "javax.xml.rpc.ParameterMode.OUT);");
               }
           }
           // set output type
  @@ -540,12 +552,13 @@
                   if (qn2 != null) {
                       qn = qn2;
                   }
  -           }
  -            
  +            }
  + 
               String outputType = "new javax.xml.rpc.namespace.QName(\"" +
                   qn.getNamespaceURI() + "\", \"" +
                   qn.getLocalPart() + "\")";
  -            pw.println("        call.setReturnType(" + outputType + ");");
  +            pw.println("        call.setReturnType(" + 
  +                       outputType + ");");
           }
           else {
               pw.println("        
call.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID);");
  
  
  


Reply via email to