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:[email protected]] 
Gesendet: Dienstag, 28. Juli 2009 14:49
An: [email protected]
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.

Reply via email to