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 to...@apache.org on 2002/05/31 22:34:32 UTC
cvs commit: xml-axis/java/src/org/apache/axis/wsdl/toJava JavaStubWriter.java
tomj 2002/05/31 13:34:32
Modified: java/src/org/apache/axis/wsdl/toJava JavaStubWriter.java
Log:
Add code to correctly set the operation QName when in 'wrapped' mode.
We need to use the name and namespace of the message element, not
the namespace of the body in the binding.
Revision Changes Path
1.65 +11 -2 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.64
retrieving revision 1.65
diff -u -r1.64 -r1.65
--- JavaStubWriter.java 31 May 2002 19:08:10 -0000 1.64
+++ JavaStubWriter.java 31 May 2002 20:34:32 -0000 1.65
@@ -580,9 +580,18 @@
}
pw.println(" call.setOperationStyle(\"" + styleStr + "\");");
-
// Operation name
- pw.println(" call.setOperationName(new javax.xml.rpc.namespace.QName(\"" + namespace + "\", \"" + operation.getName() + "\"));" );
+ if (styleStr.equals("wrapped")) {
+ // We need to make sure the operation name, which is what we
+ // wrap the elements in, matches the Qname of the parameter
+ // element.
+ Map partsMap = operation.getOperation().getInput().getMessage().getParts();
+ Part p = (Part)partsMap.values().iterator().next();
+ QName q = p.getElementName();
+ pw.println(" call.setOperationName(new javax.xml.rpc.namespace.QName(\"" + q.getNamespaceURI() + "\", \"" + q.getLocalPart() + "\"));" );
+ } else {
+ pw.println(" call.setOperationName(new javax.xml.rpc.namespace.QName(\"" + namespace + "\", \"" + operation.getName() + "\"));" );
+ }
// Invoke the operation
pw.println();