axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Davanum Srinivas (JIRA)" <axis-...@ws.apache.org>
Subject [jira] Updated: (AXIS-1746) [MultiRef] SerializationContext.isPrimitive return false for bean property of primitive type
Date Wed, 16 Mar 2005 21:21:41 GMT
     [ http://issues.apache.org/jira/browse/AXIS-1746?page=history ]

Davanum Srinivas updated AXIS-1746:
-----------------------------------

    Priority: Major  (was: Blocker)

downgrading the bug.

> [MultiRef] SerializationContext.isPrimitive return false for bean property of primitive
type
> --------------------------------------------------------------------------------------------
>
>          Key: AXIS-1746
>          URL: http://issues.apache.org/jira/browse/AXIS-1746
>      Project: Axis
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: 1.2RC2
>  Environment: Tomcat 5.0.16
> JDK 1.4.2_03
> OS Windows 2000
> Architecture x86
>     Reporter: Patrick Houbaux
>  Attachments: ArraySerialization_MultiRef.xml
>
> Using a RPC web service using complex data types (exposed java beans with primitive type
properties).
> Using Multi-Ref because the data type model is a graph.
> BUG: For the primitive type properties of the beans sent through the wire, Axis sent
them as multi ref.
> Explanation:
> After a debugging session with the Axis 1.2RC2 source, noticed that the SerializationContext.isPrimitive
method in org.apache.axis.encoding return false for these simple types.
> The method    public void serialize(QName elemQName,
>                           Attributes attributes,
>                           Object value,
>                           QName xmlType,
>                           Boolean sendNull,
>                           Boolean sendType)
> at line 727 is called with a correct xmlType (i.e. (http://www.w3.org/2001/XMLSchema)double
for instance) parameter for the simple type but in the body of this method the checking if
the value is a primitive (line 802) is not taking into account this correct xmlType.
> In the method isPrimitive the following test(starting at line 609) fails:
>         // Note that java.lang wrapper classes (i.e. java.lang.Integer) are
>         // not primitives unless the corresponding type is an xsd type.
>         // (If the wrapper maps to a soap encoded primitive, it can be nillable
>         // and multi-ref'd).
>         QName qName = getQNameForClass(javaType);
>         if (qName != null && Constants.isSchemaXSD(qName.getNamespaceURI()))
{
>             if (SchemaUtils.isSimpleSchemaType(qName)) {
>                 return true;
>             }
>         }
> During the debug runtime the values in the previous piece of code are the following:
> - javaType = java.lang.Double
> - qName = (http://schemas.xmlsoap.org/soap/encoding/)double
> Why qName don't get the value : (http://www.w3.org/2001/XMLSchema)double?
> Following an example of what is sent through the wire.
> p.s.: Orginally sent in the axis-user mailing list, thread:
> "Axis 1.2RC2: multiref serialization of xsd simple types / interoperability with .NET"

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