On Jan 4, 2008 2:48 AM, R J Scheuerle Jr <[EMAIL PROTECTED]> wrote: > Rich Scheuerle > IBM Web Services > Apache Axis2 ([EMAIL PROTECTED]) > 512-838-5115 (IBM TL 678-5115) > > Glen Daniels <[EMAIL PROTECTED]> wrote on 12/28/2007 12:49:21 AM: > > > Hey Amila: > > > > > won't need them. But for SOAP 1.1, the situation is different. > The > > > encoding spec says you MUST encode all complex object types > astop-level > > > > members of the serialization. Therefore ALL conforming SOAP 1.1 > > > encoding implementations will be putting out stuff that looks like > this: > > > > > > <soap:body> > > > <operation> > > > <arg1 href="#obj1"/> > > > </operation> > > > <multiref id="obj1"> > > > <name>the real argument</name> > > > <color>blue</color> > > > </multiref> > > > </soap:body> > > > > > > is this means it is allowed to have more than one xml element in the > > > soap:body ? > > > > Yes. But - I was incorrect about the MUST above! My hands were typing > > a little ahead of my brain there. :) Multirefs are not in fact > > *required* by SOAP 1.1 section 5, but some implementations (Axis 1.X > > included) will by default serialize all complex objects as multirefs > > since it speeds writing (if you don't do it that way you have to walk > > the entire data graph to see what objects are referred to multiple times > > > before serializing). > > > > > I have to think about bit. We can resolve the problem with parsing as > I > > > have mentioned earlier but can not think about a way to serialize with > > > > multirefs. > > > > Again, my bad - we're not forced to do so, so it's ok for us not to, as > > long as we accept that we're not going to be able to do real graphs. If > > > no one wants this particular functionality, I'm fine with punting on it. > > > > Your idea about parsing the XML to remove the hrefs and generate a > > larger "virtual" expanded document on the reading side should work fine, > > > although it will potentially cause repeated data if a multiref is used > > many times. Probably not a big deal. I'll respond to the rest of your > > other note in another message. > > > This will only work for graphs which are strictly trees. > It will not work for graphs which contain loops. (Even worse, it will > result in > an infinite loop). > > So this highlights an additional concern. Does ADB, in document/literal > mode, contain code that > detects loops and gracefully throws an exception ? > No. It can handle loops in schema level. but for object structure there can not be any loops. Any way with ADB multiref serialization is not also possible.
Amila. > I know from prior support work that MS does > trace loops. > > > > > > > > Thanks, > > --Glen > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- Amila Suriarachchi, WSO2 Inc.
