axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From WJ Krpelan <krpelan...@yahoo.com>
Subject Re: AW: [jira] Commented: (AXIS2-3300) minOccurs="0" always generated by Java2WSDL - problems with .NET client generation
Date Thu, 30 Jul 2009 09:26:47 GMT

Hi Matthias,
in my personal view you are asking to much.
to achieve interoperability, its not unusual that one has to adjust automatically generated
wsdls/schemes manually.
if you try to do webservices fully dynamically you'd better make sure the same webservice-engine
is present on both sides

Seen from the java side, how could the generator tell from the code whether a variable is
meant to be optional or obligatory or even nullable?
Usually it can't so it generates the most general approach, which is optional and nullable
obviously. 

Cheers,
Wolfgang


--- On Wed, 7/29/09, Matthias.Gaiser@t-systems.com <Matthias.Gaiser@t-systems.com> wrote:

> From: Matthias.Gaiser@t-systems.com <Matthias.Gaiser@t-systems.com>
> Subject: AW: [jira] Commented: (AXIS2-3300) minOccurs="0" always generated by Java2WSDL
- problems with .NET client generation
> To: axis-dev@ws.apache.org
> Date: Wednesday, July 29, 2009, 2:10 PM
> Hi Chris (or someone else),
> 
> maybe it is just a misunderstanding on my side.
> 
> I am generating a wsdl from a java class via java2wsdl. I
> am using a simple method like
> public String login(String user, String password);
> 
> java2wsdl now generates a wsdl where the parameters are
> marked with minOccurs="0", which should not be the case for
> my webservice. Is there a possibility to set the standard
> behavior to minOccurs="1"? As far as I have seen in the
> DefaultSchemaGenerator the minOccurs="0" is hardcoded.
> Generated wsdl fragment:
> <xs:element name="login">
>     <xs:complexType>
>         <xs:sequence>
>            
> <xs:element minOccurs="0" name="user" nillable="true"
> type="xs:string"/>
>            
> <xs:element minOccurs="0" name="password" nillable="true"
> type="xs:string"/>
>         </xs:sequence>
>     </xs:complexType>
> </xs:element>
> 
> 
> Please help me in clarfying this issue.
> 
> Thank you,
> Matthias. 
>  
> -----Ursprüngliche Nachricht-----
> Von: Chris van Es (JIRA) [mailto:jira@apache.org] 
> Gesendet: Dienstag, 28. Juli 2009 14:49
> An: axis-dev@ws.apache.org
> Betreff: [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=12736053#action_12736053
> ] 
> 
> Chris van Es commented on AXIS2-3300:
> -------------------------------------
> 
> I patched the DefaultSchemaGenerator in that fashion and we
> haven't had any problems to date.
> 
> Chris.
> 
> > minOccurs="0" always generated by Java2WSDL - problems
> with .NET client generation
> >
> ----------------------------------------------------------------------------------
> >
> >             
>    Key: AXIS2-3300
> >             
>    URL: https://issues.apache.org/jira/browse/AXIS2-3300

> >         
>    Project: Axis 2.0 (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.
> 
> 


      

Mime
View raw message