Hello to all!
I recently experienced a problem trying to do the following:
- expose a POJO as a webservice, generating the WSDL with Axis2 Java2WSDL
- create a client with .NET WebService Studio 2.0
Suppose my Java methods signatures are these:
public Integer a(String, Integer)
public String b(Integer, String)
(please note: the actual methods declare to launch some exceptions, too)
Axis2 Java2WSDL adds the minOccurs="0" for each element of each complex
type, both for the input parameters and for the output parameters.
When generating clients using .NET WebService Studio 2.0, the result is
the following:
- all the generated C# methods input parameters are doubled, except for
the string ones: the doubled parameters are booleans whose meaning is:
"is the previous parameter specified or not?"
- all the generated C# methods return parameters are void, except for
the string ones
The actual result are clients with methods like these:
void a(string, Integer32, Boolean)
string b(Integer32, Boolean, string)
We could discuss if this is a correct behaviour by .NET WebService 2.0
or not, however, my question is this: why does Axis2 Java2WSDL specify
minOccurs="0" for each parameter? What I would expect is that every
method parameter (either input ones or return ones) IS mandatory.
Does Axis2 specify minOccurs="0" with the meaning of: "it may be null"?
Or are there other specific reasons?
Is there a way to customize this aspect of the WSDL generation?
Thanks in advance for any reply.
--
Mauro Molinari
Software Developer
[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]