axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Glen Daniels <g...@thoughtcraft.com>
Subject Re: [Axis2] Adding Doc/Lit/Bare support for Java2WSDL
Date Wed, 06 Jun 2007 14:56:31 GMT
Hi dims!

As I understand the suggestion, you're saying that "bare" mode should 
focus on mapping types to GEDs.  In other words, a Bean type might end 
up as <ns:Bean>, regardless of which method takes it as an argument.  So 
"void doit(Bean b)" would look like this on the wire:

<soap:Body>
   <ns:Bean>...</ns:Bean>
</soap:Body>

The mapping from the Bean class to the <ns:Bean> name has to be 
specified somewhere (JAXB does this for us, IIRC, but we want this to 
work with ADB too), and I'd like to make sure that we can use Bean 
serialization with other element names too... i.e. if you have:

class Foo {
   Bean member;
}

We get:

<Foo>
   <member>...</member>
</Foo>

Instead of:

<Foo>
   <Bean>...<Bean>
</Foo>

In other words, only use the "mapped" GED name when serializing at the 
root level.

> Now the other signatures such as the following:
> public int add(int para1 , int para2)
> 
> Should we just create a wrapper element or throw an exception that
> this method signature is not supported with Doc/Lit/Bare? I am leaning
> towards the latter to get started with.

Wrapping multi-arg methods doesn't seem so different to me from wrapping 
simple types.  An argument can be made that "int doit(int)" is just as 
in-need of mapping as "int add(int p1, int p2)".  In the first case, 
we'll do something like "<axis2:int>", I guess?  In the second, we can 
just use the method name, since the structure implied by the args is 
defined in the context of the method.

So I guess I'd like to see us wrap multi-arg methods and simple types 
both - for a multi-arg method "bare" and "wrapped" are equivalent.

> Also, we will need a new parameter in services.xml which specifies
> whether the autogenerated wsdl should be Bare or Wrapped. If nothing
> is specified we fall back to wrapped for backward compat.

+1.  Should we be able to specify this on a per-operation basis?  I 
think maybe yes.

--Glen

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message