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 "Amila Chinthaka Suriarachchi (JIRA)" <ji...@apache.org> on 2007/12/24 09:44:43 UTC

[jira] Resolved: (AXIS2-3329) Problem parsing integer with leading zeros...

     [ https://issues.apache.org/jira/browse/AXIS2-3329?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Amila Chinthaka Suriarachchi resolved AXIS2-3329.
-------------------------------------------------

    Resolution: Won't Fix

the only thing you can do is to manually delete the validation code and write an own validation to check the number is between 0 and 999

> Problem parsing integer with leading zeros...
> ---------------------------------------------
>
>                 Key: AXIS2-3329
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3329
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.3
>         Environment: Windows XP
>            Reporter: Lars Kruse Pedersen
>            Assignee: Amila Chinthaka Suriarachchi
>
> I have the following xsd,
> <xs:simpleType name="UnderkontoArtKodeType">            
>       <xs:annotation>                 
>          <xs:documentation>Angiver typen af afregning</xs:documentation>            
>       </xs:annotation>
>             
>       <xs:restriction base="xs:integer">
>          <xs:pattern value="[0-9]{3}"/>
>          <xs:totalDigits value="3"/>
>       </xs:restriction>
>    
> </xs:simpleType>
> When I receive XML with leading zeros, as in "001", ADB throws an exception....
> Looking at the generated ADB kode:
> public void setUnderkontoArtKodeType(java.math.BigInteger param) {
>         if (java.lang.String.valueOf(param).matches("[0-9]{3}")) {
>             this.localUnderkontoArtKodeType = param;
>         } else {
>             throw new java.lang.RuntimeException();
>         }
>     }
> It is clear why it fails, the "001" has already been converted to an integer, and when the set method is called it takes the 1 and converts it to a string "1", and then tries to validate for containing 3 digits...

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