axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel David Schäfer (JIRA) <axis-...@ws.apache.org>
Subject [jira] Commented: (AXIS-1885) axis serializes unwanted attributes (e.g. lowestSetBit of java.math.BigInteger)
Date Fri, 18 Mar 2005 07:59:20 GMT
     [ http://issues.apache.org/jira/browse/AXIS-1885?page=comments#action_61189 ]
     
Daniel David Schäfer commented on AXIS-1885:
--------------------------------------------

The latest version still has this bug.
It is identical to the version of RC3
where my problem occurred.


> axis serializes unwanted attributes (e.g. lowestSetBit of java.math.BigInteger)
> -------------------------------------------------------------------------------
>
>          Key: AXIS-1885
>          URL: http://issues.apache.org/jira/browse/AXIS-1885
>      Project: Axis
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: 1.2RC3
>  Environment: every environment
>     Reporter: Daniel David Schäfer

>
> Hi all,
> I have found a compatibility-problems between Axis 1.1 and 1.2RC3.
> When you use xsd:integer in your wsdl, axis maps it to java.math.BigInteger.
> java.math.BigInteger provides a method getLowestSetBit() that leads axis to the
> erroneous attempt to write an attribute "lowestSetBit" to the xml it serializes.
> I have provided a little patch that prevents axis from serializing any attributes it
finds 
> in objects of classes that extend java.lang.Number (like many wrapper-classes of simple
types).
> btw: under which circumstances can this be false:
>    if (propertyDescriptor != null && !(value instanceof SimpleType))
> how can e.g. java.lang.Integer be an instance of org.apache.axis.encoding.SimpleType?
> bye
> Daniel
> ===================================================================
> RCS file: /usr/local/cvsroot/dev_projects/axis12/src/org/apache/axis/encoding/ser/SimpleSerializer.java,v
> retrieving revision 1.1
> retrieving revision 1.3
> diff -u -r1.1 -r1.3
> --- dev_projects/axis12/src/org/apache/axis/encoding/ser/SimpleSerializer.java	2005/03/15
09:34:22	1.1
> +++ dev_projects/axis12/src/org/apache/axis/encoding/ser/SimpleSerializer.java	2005/03/17
12:26:48	1.3
> @@ -128,6 +128,10 @@
>              return context.qName2String((QName)value);
>          }
>  
> +		if(value instanceof java.lang.Number) {
> +			return value.toString();
> +		}
> +		
>          if (propertyDescriptor != null && !(value instanceof SimpleType)) {
>              BeanPropertyDescriptor pd = BeanUtils.getSpecificPD(propertyDescriptor,
"_value");
>              if(pd != null) {
> @@ -143,6 +147,11 @@
>      private Attributes getObjectAttributes(Object value,
>                                             Attributes attributes,
>                                             SerializationContext context) {
> +											   
> +	    if(value instanceof java.lang.Number) {
> +			return attributes;
> +		}
> +		
>          if (typeDesc != null && !typeDesc.hasAttributes())
>              return attributes;
>  

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


Mime
View raw message