[ https://issues.apache.org/jira/browse/AXIS2-3300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12797580#action_12797580 ]
Mauro Molinari commented on AXIS2-3300: --------------------------------------- I fear I am not really understanding your last intervention. Looking at the source code of org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator and your last patch quickly, it seems that nillable=true is actually specified whenever a type is not a primitive one. So this would actually mean that, after your patch, the behaviour would be the one you mentioned in your comment of 05/Jan/10 05:46 AM. If this is so, feel free to solve again this bug and sorry. I just understood that you opted for removing minOccurs=0 without adding nillable=true for object type parameters. This is ok for me, however keep in mind that .NET 1.1 compatibility will stay compromised. > 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.