axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "R J Scheuerle Jr" <>
Subject RE: Axis interop problems (Sam Please Read)
Date Tue, 29 Jan 2002 19:06:10 GMT

If you want to make the point that arrays are not full-fledged objects,
than the code should be changed
to indicate that arrays are never multi-ref'ed.

Or you can make the case that arrays are full-fledged objects, then the
code should be changed to indate that
arrays are always multi-ref'ed.

Sounds like you want to 'special-case' the the multi-refness of an array by
what it contains.

As far as interop is concerned.   I am 100% behind interop deciding the
answer when in doubt.

Not trying to ruffle any feathers.

Rich Scheuerle
XML & Web Services Development
512-838-5115  (IBM TL 678-5115)

                      Ruby/Raleigh/IBM@        To:         
                      IBMUS                    cc:                                       
                                               Subject:  RE: Axis interop problems (Sam Please
                      01/29/2002 12:49                                                   
                      Please respond to                                                  

Rich Scheuerle wrote:
> I disagree that multirefs are only useful for cyclic structures.
> Lets say a bean Store and bean Customer both have a data item that is an
> array of primitives (perhas an array of prices), and this
> array is shared between the two.
> Both the Store and Customer are passed to a web service operation
> (buy(store, customer)).  It is crucial that when the
> store and customer are deserialized that they are locating the same array
> not their own copies.  Thus if the store price list changes, it
> is automatically reflected in the customer.
> So multi-refs of arrays are important regardless of the array element
> (Now if you want to make a special case for hexBinary etc, that's okay).

SOAP has the abiltity to distinguish between two "true" booleans which are
equal, and which are actually identical.  I can constuct a plausible
sounding scenario where such is important.  But realistically, does anybody
really expect such a distinction to survive a round trip with other

Typically, shared items between objects are themselves objects, not
directly arrays.

The road to hell is paved with special cases.  I'm warning you, I do have a
longer answer...  don't make me use it.  ;-)

Another factor to consider.  Good reputations are hard to establish, and
bad ones, once established are hard to undo.  Apache SOAP 2.2 has a certain
level of interoperability.  I've ensured that Apache SOAP's 2.3 level of
interoperability will be better than 2.2's was.  If Apache Axis's
interoperability is perceived to be less than Apache SOAP's, it will affect
not only Axis's uptake, but also the products which chose to base their
implementation on Axis.  This is particularly true if we chose to use
relatively obscure features in cases where they are not necessary.

I would not object to logic being added which utilized hrefs in the case
where there actually is real sharing.  In the case of echoStringArray,
there is only one array being passed, so the possibility of any actual
sharing is rather remote.  ;-)

- Sam Ruby

View raw message