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 18:37:45 GMT
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 type.

(Now if you want to make a special case for hexBinary etc, that's okay).

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

                      Glen Daniels                                                       
                      <gdaniels@macrome        To:       "''" <>
            >                 cc:                                    
                                               Subject:  RE: Axis interop problems (Sam Please
                      01/29/2002 11:54                                                   
                      Please respond to                                                  

> The most obvious issue is that the encoding of arrays has changed.
> Previously, the decision was made to treat arrays of primitives as
> primitives.  This actually gets into a deep discussion - what
> is multi-ref
> for?  I do have a length answer that I can share, but a
> reasonable summary
> of my feelings of the subject is quite simple: to deal with
> the possibility
> cyclic structures.  Arrays of primitives can't participate
> directly in an
> actual loop, so my preference is to treat them as primitive
> objects.  In
> rare cases, this may mean more data gets transferred.  In
> most cases, it
> will mean that less CPU will be consumed in the process.  And
> interop will
> be successful with more endpoints.

Well summarized.  +1.


View raw message