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 Marius Hugo <ma...@traderoot.com> on 2006/08/23 18:16:14 UTC

WSDL2Java Question

This is the first time that I am working with axis and I must now
migrate someone else's code
from axis to axis2, so I'm a little clueless...
 
I just have a few simple questions concerning what WSDL2Java generated:
 
   In ye olden xsd and wsdl:
    -  He declared a simple type (xs:long),  " SessionId " .
    -  He also added restrictions (minInclusive and maxInclusive) to
that type
    -  He also declared that one of the responses that I send, uses that
type as a field . 
    -  From what I've learned, all of this looks right and it worked on
the previous version of axis
 
    -  I then used WSDL2Java to generate code:
                        it generated
com.company.product.webservice.types.SessionId
                        it also generated the Document that uses this
type
 
    - In the generated document, the following methods are available
(well, there are others:):
 
         - int getSessionId();
         - com.company.product.webservice.types.SessionId
xgetSessionId();
 
 
NOW (these questions apply to both getters and setters)
 
    What is the difference between the two methods?
 
    Are the restrictions imposed on both of them?
 
    Why does the one method return an int, when SessionId was defined as
a long?
 
    If I were to go send this Document off as a SOAP message, what will
    I be sending? I mean, if I say went and set both values or just the
one? Will I
    be sending both values that I set, cause that doesn't really make
sense
    to me. 
 
Thanks,
Marius

Re: WSDL2Java Question

Posted by Anne Thomas Manes <at...@gmail.com>.
Marius,

Given that xsd:long is derived from xsd:int restricted by maxInclusive
and minInclusive, it actually makes more sense for you to derive from
xsd:int rather than xsd:long.

But that's just a nit. This smells like a bug.
xsd:long should map to long, not to int; but since you've derived a
type, the return type should be your value type, SessionId.

But I don't understand why you have two methods.

Could you please post the WSDL and XSD?

Anne

On 8/23/06, Marius Hugo <ma...@traderoot.com> wrote:
>
>
> This is the first time that I am working with axis and I must now migrate
> someone else's code
>
> from axis to axis2, so I'm a little clueless...
>
> I just have a few simple questions concerning what WSDL2Java generated:
>
>    In ye olden xsd and wsdl:
>     -  He declared a simple type (xs:long),  " SessionId " .
>     -  He also added restrictions (minInclusive and maxInclusive) to that
> type
>     -  He also declared that one of the responses that I send, uses that
> type as a field .
>     -  From what I've learned, all of this looks right and it worked on the
> previous version of axis
>
>     -  I then used WSDL2Java to generate code:
>                         it generated
> com.company.product.webservice.types.SessionId
>                         it also generated the Document that uses this type
>
>     - In the generated document, the following methods are available (well,
> there are others:):
>
>          - int getSessionId();
>          - com.company.product.webservice.types.SessionId
> xgetSessionId();
>
>
> NOW (these questions apply to both getters and setters)
>
>     What is the difference between the two methods?
>
>     Are the restrictions imposed on both of them?
>
>     Why does the one method return an int, when SessionId was defined as a
> long?
>
>     If I were to go send this Document off as a SOAP message, what will
>     I be sending? I mean, if I say went and set both values or just the one?
> Will I
>     be sending both values that I set, cause that doesn't really make sense
>     to me.
>
>
>
> Thanks,
> Marius

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