axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mauro Molinari (JIRA)" <>
Subject [jira] Commented: (AXIS2-3300) minOccurs="0" always generated by Java2WSDL - problems with .NET client generation
Date Tue, 05 Jan 2010 10:39:54 GMT


Mauro Molinari commented on AXIS2-3300:

This is acceptable and is ok for .NET >=2.0 compatibility, however consider that in this
case the generated WSDL may not be usable to create suitable clients by .NET 1.x users. This
should be documented in some way, so that if a Java developer using Axis2 must write web services
that have to be invoked even by .NET 1.x clients, he will then be forced to opt for a contract-first
approach. Actually, this is also the case right now, so the new behaviour wouldn't be worse
than the current one in any case ;-)

> minOccurs="0" always generated by Java2WSDL - problems with .NET client generation
> ----------------------------------------------------------------------------------
>                 Key: AXIS2-3300
>                 URL:
>             Project: Axis2
>          Issue Type: Bug
>          Components: Tools
>    Affects Versions: 1.3
>            Reporter: Mauro Molinari
>            Assignee: Deepal Jayasinghe
>         Attachments: axis2-1.4.1.diff
> When you try to expose a POJO as a webservice, suppose you have two Java methods with
the following signatures:
> public Integer a(String, Integer)
> public String b(Integer, String) 
> 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:
> public void a(string, int, bool);
> public string b(int, bool, string);
> This is obviously a problem, particularly for the "void" return type.
> If I remove minOccurs="0", clients are generated correctly by .NET WebService Studio
> The issue is this: why does Java2WSDL always adds minOccurs="0"? If its meaning were
"it can be null", I think nillable="true" attribute should be more appropriate... Moreover,
if I substitute Integer with int in the original Java class methods, minOccurs="0" is still
added by Java2WSDL, even if an int cannot be null.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message