Michael,

Looking at the generated WSDL, I have a question in my mind.

JSR-181 @WebParam.header attribute can specify that an argument value
has to be located at SOAP Header. 
But what about mustUnderstand and actor soap header element?
Is it intentionally unspecified in the JSR-181 for later adjusting with other 
spec, like JAXB 2.0?

/Jongjin

----- Original Message ----- 
From: "Michael Merz" <[EMAIL PROTECTED]>
To: <axis-user@ws.apache.org>
Cc: "Beehive Developers" <beehive-dev@incubator.apache.org>
Sent: Saturday, December 18, 2004 3:23 AM
Subject: FW: More Axis questions...


I don't understand some of the behavior of wsdl2java when run against a
running web service with "header" web parameters
("ParamDesc.setInHeader(true)"). The generated methods in the client
stub look quite different from the original ones; in particular, they
seem to have parameters that are not required:

The original server side WebMethod (within a @WebService) in Beehive
notation:
    public int testMethod(
      @WebParam(header=true) String s
    )   throws Exception

Turned into the following method in the autogenerated client stub:
    public template.TestMethodResponse testMethod(
      java.lang.String in0,
      template.TestMethod parameters
    ) throws java.rmi.RemoteException, java.lang.Exception

Instead, I would have expected something like:
    public int testMethod(
      String in0,
    ) throws java.rmi.RemoteException, java.lang.Exception

[For WSDL and sources, see attachments.]

The curiousities are:
1) the original had a return type int, the stub's return type is
template.TestMethodResponse
2) the original had one formal parameter of type String, the stub has
two parameters, one of type String and one of type
template.TestMethodResponse
3) if I use INOUT or OUT params, even more formal parameters get added
to testMethod's signature.

Note that the change of parameter names from "s" to "in0" was expected.

I'm not sure what the problem is, yet, and was just curious if there
were any known issues around this. Also note that everything works fine
if I set the "header" options to "false". Any ideas? Thanks much.

Cheers,

-michael



Reply via email to