You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Michael Merz <mm...@bea.com> on 2004/12/17 01:45:56 UTC

More Axis questions...

Cc: axis-user@ws.apache.org; beehive-dev@incubator.apache.org

I've seen some strange behavior when using wsdl2java against a running
web service w/ DOC/Literal/Wrapped binding, when I define a "header"
INOUT parameter (and thus use "ParamDesc.setInHeader(true)" and
"ParamDesc.setOutHeader(true)"). The generated methods in the client
stub look quite different than the original ones; in particular, they
seem to have parameters that are not required.

The original server side WebMethod (within a WebService):
    public void testMethod(
      @WebParam(name="paramA",header=true,mode=WebParam.Mode.INOUT)
javax.xml.rpc.holders.StringHolder sh
    ) throws java.lang.Exception

Turned into the following method in the autogenerated client stub:
    public void testMethod(
      java.lang.String paramA,
      template.TestMethod parameters,
      javax.xml.rpc.holders.StringHolder paramA2,
      template.holders.TestMethodResponseHolder parameters2
    ) throws java.rmi.RemoteException, template.Exception

Instead, I would have expected something like:
    public int testMethod(
      javax.xml.rpc.holders.StringHolder paramA,
    ) throws java.rmi.RemoteException, template.Exception

[For WSDL and sources, see attachments.]

I'm not sure what the problem is, yet, and was just curious if there
were any known issues around this. Note that everything works fine if I
set the "header" options for In and Out headers to false. Am I using
ParameterDesc's header-methods wrong? Thanks much.

Cheers,

-michael