WSDL2Java doesn't support xsd:elem...@fixed
-------------------------------------------

                 Key: AXIS2-4356
                 URL: https://issues.apache.org/jira/browse/AXIS2-4356
             Project: Axis 2.0 (Axis2)
          Issue Type: Improvement
          Components: adb, codegen, wsdl
    Affects Versions: 1.4.1
         Environment: Java 6
            Reporter: Aaron Gourley
            Priority: Minor


For reference, the default and fixed constraints are defined here:
http://www.w3.org/TR/xmlschema-1/#e-value_constraint

Consider the following XML schema definitions:

<xs:element name="ResultCode" type="tns:ResultCode" />
<xs:complexType name="ResultCode">
    <xs:sequence>
        <xs:element name="code" default="0" type="xs:long" />
    </xs:sequence>
</xs:complexType>

<xs:element name="SuccessCode" type="tns:SuccessCode" />
<xs:complexType name="SuccessCode">
    <xs:sequence>
        <xs:element name="code" fixed="0" type="xs:long" />
    </xs:sequence>
</xs:complexType>

ADB code generated for the ResultCode element is correct in setting the default 
value of the code field to 0:

    protected long localCode = 
org.apache.axis2.databinding.utils.ConverterUtil.convertToLong("0");

ADB code generated for the SuccessCode element is incorrect according to XSD 
definition for the fixed element.  It actually appears to completely ignore the 
fixed attribute.  Considering the XSD definition for the fixed attribute, I 
think the generated code should declare the code field as final and set the 
final value as follows:

    protected final long localCode = 
org.apache.axis2.databinding.utils.ConverterUtil.convertToLong("0");

It follows that the generated code should not contain a setter method for the 
code field.

-- 
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