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);");