Chris,

If I understand your question right, see section 3.5 of the WSDL 1.1 specification, 
the third to last paragraph:
 "If use is encoded, then each message part references an abstract type using the type 
attribute."

WSDL spec should be at http://www.w3.org/TR/wsdl
--
Tom Jordahl
Macromedia Server Development



-----Original Message-----
From: Chris Burnley [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, October 02, 2002 8:58 PM
To: [EMAIL PROTECTED]
Subject: Correctness of
org.apache.axis.wsdl.toJava.Utils.getOperationQName


I have a situation where I a client is using an element instead of a 
type for a message parameter in my WSDL file (simplified example 
attached). When I generate the stubs, the operation name call looks like 
this:

  _call.setOperationName(new 
javax.xml.namespace.QName("http://www.xyz.com/schema/Elements";, 
"anElement"));

rather than the expected:

_call.setOperationName(new 
javax.xml.namespace.QName("http://www.xyz.com/soap-services";, 
"anOperation"));

I read the comments for getOperationQName and someone wrote:

       // NOTE: it is possible for someone to define a part as an element
       // while using rpc/encoded, which is wrong and we might want to 
catch it
       // here.

Is this actually true ? Could someone point me to the spec that points 
this out ? It seems that this could be easy to fix by adding

@@ -566,6 +566,9 @@
         if (ns == null) {
             ns = "";
         }
+        else {
+            return new QName(ns, operationName);
+        }

to Utils.java, revision RC1

regards,

Chris Burnley

Reply via email to