axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Doug Davis" <...@us.ibm.com>
Subject Re: array test
Date Tue, 04 Dec 2001 12:05:03 GMT
On your (1) you say throw an error if we don't
understand the xsi:type -  just wanted to be clear - in my
case I'm seeing the error because we aren't even looking
at the xsi:type.  We don't follow the href - if we did then we'd
see a well-known xsi:type and the error would be avoided.
-Dug


Sam Ruby/Raleigh/IBM@IBMUS on 12/04/2001 07:02:11 AM

Please respond to axis-dev@xml.apache.org

To:   axis-dev@xml.apache.org
cc:
Subject:  Re: array test



Glen Daniels wrote:
>
> There are two solutions for this, as far as I can see.  One is to have
the type
> system include inheritance - i.e. we figure out that "myNS:ArrayOfInt" is
a
> subtype of SOAP:Array, and thus get the right Deserializer.  The other is
to
> revamp the logic in the deserialization system to hold off on determining
the
> type from the Call until its sure that there's no xsi:type on the
referent
> element (in this case, since there is an xsi:type of SOAP:Array, things
would
> work OK if we could get to it).

Array of int and Array of Date are both Arrays, right?  For that matter,
both are Objects, so we can interchange them?

No.

I see only two viable possibilities here (and neither are listed above).

(1) If the xsi type is present, respect it.  This includes throwing an
error like we currently do if we can't make sense of the xsi type.  This
should also include permitting "myNS:ArrayOfInt" to be declared in the WSDD
as the proper type of array.

(2) If the xsi type is present, ignore it.  This appears to be the strategy
of ASP.Net at the present time.  I don't know of any cases where this
wouldn't work, but in the long term it might preclude determining the
proper subclass when passing around true objects.

By the way, you can see an example of this (including wire dumps) by
clicking on the "Phalanx Typed" endpoint in
http://www.apache.org/~rubys/ApacheClientInterop.html .  Multirefs aren't
even required.

- Sam Ruby




Mime
View raw message