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]

Reply via email to