You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Gilly Morg (JIRA)" <ji...@apache.org> on 2009/12/22 13:24:29 UTC

[jira] Commented: (AXIS2-3300) minOccurs="0" always generated by Java2WSDL - problems with .NET client generation

    [ https://issues.apache.org/jira/browse/AXIS2-3300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12793598#action_12793598 ] 

Gilly Morg commented on AXIS2-3300:
-----------------------------------

Can anyone tell me the status of this bug?... any solution for this?:S

THKS
gilly

> minOccurs="0" always generated by Java2WSDL - problems with .NET client generation
> ----------------------------------------------------------------------------------
>
>                 Key: AXIS2-3300
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3300
>             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 2.0.
> 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.


Re: [jira] Commented: (AXIS2-3300) minOccurs="0" always generated by Java2WSDL - problems with .NET client generation

Posted by WJ Krpelan <kr...@yahoo.com>.
Hi
its no bug, at most its a missing (interoperability-) feature -
cause if you adapt java2wsdl to some specific microsoft behaviour it gets incompatible with other platforms which makes no sense
you could make a interoperability feature request - either here or with mircosoft :)
anyway "wsdl first" is the correct interop approach. 
consider it.
Cheers, Wolfgang

--- On Tue, 12/22/09, Gilly Morg (JIRA) <ji...@apache.org> wrote:

> From: Gilly Morg (JIRA) <ji...@apache.org>
> Subject: [jira] Commented: (AXIS2-3300) minOccurs="0" always generated by Java2WSDL - problems with .NET client generation
> To: axis-dev@ws.apache.org
> Date: Tuesday, December 22, 2009, 1:24 PM
> 
>     [ https://issues.apache.org/jira/browse/AXIS2-3300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12793598#action_12793598
> ] 
> 
> Gilly Morg commented on AXIS2-3300:
> -----------------------------------
> 
> Can anyone tell me the status of this bug?... any solution
> for this?:S
> 
> THKS
> gilly
> 
> > minOccurs="0" always generated by Java2WSDL - problems
> with .NET client generation
> >
> ----------------------------------------------------------------------------------
> >
> >             
>    Key: AXIS2-3300
> >             
>    URL: https://issues.apache.org/jira/browse/AXIS2-3300
> >         
>    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 2.0.
> > 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.
> 
>