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 "Davanum Srinivas (JIRA)" <ji...@apache.org> on 2008/04/10 12:18:06 UTC

[jira] Commented: (AXIS2-3724) WSDL complex type elements do not comply to JAXB Java bean

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

Davanum Srinivas commented on AXIS2-3724:
-----------------------------------------

You really need to use the JAXWS 2.1 support in latest nightly. 

-- dims

> WSDL complex type elements do not comply to JAXB Java bean
> ----------------------------------------------------------
>
>                 Key: AXIS2-3724
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3724
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: wsdl
>    Affects Versions: nightly
>         Environment: Win XP Pro, JDK6_04, Tomcat 5.5.26, JAXB 2.1.6
>            Reporter: Glen Verran
>             Fix For: nightly
>
>
> I created a web service which contains one method.  It has one parameter of type RetrieveConfigurationDataRequest and returns RetrieveConfigurationDataResponse.
> Focusing on RetrieveConfigurationDataRequest , the java bean was generated by JAXB 2.1.6.  Here are the variables from the java bean below
>     @XmlElement(required = true)
>     protected String echoData;
>     @XmlElement(required = true)
>     protected String identifierType;
>     @XmlElement(required = true)
>     protected String identifier;
>     @XmlElement(required = true)
>     protected String revision;
>     protected String vintage;
>     protected Long dataBlockSize;
>     protected Long dataBlockPosition;
>     @XmlElement(required = true)
>     protected DataEncodingType dataEncodingType;
> The order of their "getters" and "setters" appear in the same order as the variables.
> The WSDL that gets generated contains this complexType which lools like this.
> <xs:complexType name="RetrieveConfigurationDataRequest">
>   <xs:complexContent>
>     <xs:extension base="ns0:JaxbInternalMsg">
>       <xs:sequence>
>         <xs:element minOccurs="0" name="dataBlockPosition" nillable="true" type="xs:long"/>
>         <xs:element minOccurs="0" name="dataBlockSize" nillable="true" type="xs:long"/>
>         <xs:element minOccurs="0" name="dataEncodingType" nillable="true" type="ax21:DataEncodingType"/>
>         <xs:element minOccurs="0" name="echoData" nillable="true" type="xs:string"/>
>         <xs:element minOccurs="0" name="identifier" nillable="true" type="xs:string"/>
>         <xs:element minOccurs="0" name="identifierType" nillable="true" type="xs:string"/>
>         <xs:element minOccurs="0" name="revision" nillable="true" type="xs:string"/>
>         <xs:element minOccurs="0" name="vintage" nillable="true" type="xs:string"/>
>       </xs:sequence>
>     </xs:extension>
>   </xs:complexContent>
> </xs:complexType>
> I find that the WSDL does not comply with the JAXB 2.1.6 generated java bean in the following ways:
> 1)  The elements are alphabetically sorted and do not appear in the same order as in the java bean. 
> 2)  Look at the "identifier" element  and you'll see that it has a minOccurs of 0.  This is a required field by the java bean and so should not have a minOccurs modifier in there.
> 3)  I also noticed that all the fields are set to nullable.  I don't know what the criteria is for this, but I assume it is because these are referring to java objects and not primitives.  I also think that if an object is required, that it should not be nullable.
> At the end of the day, the WSDL must take JAXB and its annotations into account and reflect the web service and its java beans 100% and it is not doing that.
> I know there is a workaround by inserting a modified wsdl into the aar file, but I don't want to have to do that since AXIS2 was designed to generate the WSDL itself when issuing ?WSDL in a browser.

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


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org