From a .NET point of view I learnt by experience that:
- if you specify an input element as optional (minOccurs="0"), .NET will generate client stubs with two parameters for each WSDL input parameter, the second one being a boolean that specifies if that parameter has been actually specified or not - if you specify an element as nillable (nillable="true"), .NET will generate client stubs with just an input parameter for each WSDL input parameter and that parameter "might" accept null values.

I used "might", because some types in .NET 1.1 cannot be null (this has changed in .NET 2.0). So, if you want to specify a null for some kind of parameters (integers, for instance, or datetime...) you have to specify it as optional rather than nillable, otherwise .NET 1.1 clients won't be able to properly invoke your webservices.

Another problem is that Axis2 code-first tools always generate WSDLs with nillable="true" for every parameter (even if they are specified in Java using primitive type, so they shouldn't be optional or nullable at all!!) and there's no way at the moment to tune this in the generation process.

I'd suggest to switch to the contract-first approach: you'll have to learn WSDL, of course, but you have much more control over interoperability and you'll get to use Axis2 (the latest version, at least) with success.

--
Mauro Molinari
Software Developer
[EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to