Loading ...
Sorry, an error occurred while loading the content.

Re: WS-I and doc/lit

Expand Messages
  • fraser_goffin
    Anne, thanks for your reply. I did indeed send this question to WS-I in the first instance, but alas as with many of these sorts of things no response at all
    Message 1 of 3 , Jul 23, 2003
    • 0 Attachment
      Anne,

      thanks for your reply. I did indeed send this question to WS-I in the
      first instance, but alas as with many of these sorts of things no
      response at all was forthcoming and I couldn't find a WS-I newsgroup.

      Anyway back to your response. Toolkits today (e.g. .Net) support
      specifying multiple parts for doc/lit messages without complaint.
      Other toolkits I note will barf. The WS-I Basic Profile is still
      relatively new so perhaps all will act consistently at some point :-)

      I want to ask you opinion about the superficially hidden ebXML MS
      structure to my manifest example below (I am assuming that you are
      the same Anne that frequents that newsgroup). But I will do so on
      that newsgroup so as not to clutter this one with off topic issues.

      Fraser.

      --- In soapbuilders@yahoogroups.com, "Anne Thomas Manes" <anne@m...>
      wrote:
      > For a definitive explanation of WS-I reasoning, I suggest that you
      send this
      > note to the WS-I comments list rather than to soapbuilders.
      >
      > Not speaking for WS-I, I would say that the reason they established
      this
      > constraint is that the specifications don't indicate how to
      interpret or
      > process multiple parts in a doc/lit message:
      > - Are they intended to be processed by one agent or different
      agents?
      > - If different agents, how do you specify which agent gets which
      part?
      > - If the same agent, do you give it both parts at one time or in
      sequence?
      > - How do you serialize/deserialize the different parts?
      > - etc
      >
      > WS-I had two choices here -- either constrain the spec to prohibit
      multiple
      > parts or specify the expected behavior. Obviously the first choice
      is much
      > easier, and from my perspective, much more in line with the concept
      of
      > "basic profile". It's possible that at some point in the future WS-
      I might
      > define a "manifest profile" that would specify how to use a
      manifest. In the
      > mean time, I suggest that you pass your manifest as a header block
      in order
      > to maintain WS-I compliance.
      >
      > Best regards,
      > Anne
      >
      > > Date: Sat, 19 Jul 2003 15:47:51 -0000
      > > From: "fraser_goffin" <goffinf@h...>
      > > Subject: WS-I and doc/lit
      > >
      > > Reading through the WS-I Basic Profile I noted that
      > > recommendation R2201 states that a MAXIMUM of ONE part can
      > > be listed to be contained within the SOAP Body when
      > > document-literal binding is being used.
      > >
      > > Can any explain to me why that is ??
      > >
      > > We have a situation where the SOAP Body is used to carry
      > > more than one part. The first part is a manifest which is
      > > used to describe and locate the part(s) which carry the
      > > actual business data payload(s).
      > >
      > > Example :-
      > >
      > > The following snippets would appear to be non compliant to
      > > the WS-I Basic profile. Can someone please explain why ??
      > >
      > > WSDL snippet :-
      > >
      > > .....
      > > <message name="PropertyRFP_In">
      > > <part name="Manifest" element="tns:Manifest"/>
      > > <part name="Payload" element="ppp:Transaction"/>
      > > </message>
      > > <message name="PropertyRFP_Out">
      > > <documentation>Response message contains an empty SOAP:Body -
      no
      > > parts defined</documentation>
      > > </message>
      > > <portType name="PropertyRFP_PT">
      > > <operation name="PaymentRequest">
      > > <input message="tns:PropertyRFP_In"/>
      > > <output message="tns:PropertyRFP_Out"/>
      > > </operation>
      > > </portType>
      > > <binding name="PropertyRFP_Bin"
      > > type="tns:PropertyRFP_PT">
      > > <soap:binding style="document"
      > > transport="http://schemas.xmlsoap.org/soap/http"/>
      > > <operation name="PaymentRequest">
      > > <soap:operation
      > > soapAction="http://www.xxx.co.uk/PropertyRFP"
      > > style="document"/>
      > > <input>
      > > <soap:body parts="Manifest Payload"
      > > use="literal"/>
      > > </input>
      > > <output>
      > > <soap:body use="literal"/>
      > > </output>
      > > </operation>
      > > </binding>
      > > ....
      > >
      > > Message snippet :-
      > >
      > > <SOAP:Envelope>
      > > ....
      > > <SOAP:Body>
      > > <Manifest>
      > > <Reference
      > > xmlns:xlink="http://www.w3.org/1999/xlink"
      > > xlink:href="#CDUK000001"
      > > xlink:role="xxx-uk.co.uk/xmlstds/RFP/role.htm">
      > > <Schema version="1.01"
      > > location="http://xxx-co.uk/ContentsRFP
      > > ContentsRFP.xsd"/>
      > > </Reference>
      > > <Reference
      > > xmlns:xlink="http://www.w3.org/1999/xlink"
      > > xlink:href="#CDUK000002"
      > > xlink:role="xxx-uk.co.uk/xmlstds/RFP/role.htm">
      > > <Schema version="1.01"
      > > location="http://xxx-co.uk/PropertyRFP
      > > PropertyRFP.xsd"/>
      > > </Reference>
      > > </Manifest>
      > > <php:Transaction
      > > xmlns:php="http://xxx-.co.uk/ContentsRFP"
      > > Id="CDUK000001"
      > > TransactionName="ContentsRFP"
      > > MessageVersion="01_01">
      > > <TransDate>2002-07-25</TransDate>
      > > <TransEffectiveDate>2002-07-25</TransEffectiveDate>
      > > ...
      > > </php:Transaction>
      > > <ppp:Transaction
      > > xmlns:ppp="http://www.xxx-co.uk/PropertyRFP"
      > > Id="CDUK000002"
      > > TransactionName="ContentsRFP"
      > > MessageVersion="01_01">
      > > <TransDate>2002-07-25</TransDate>
      > > <TransEffectiveDate>2002-07-25</TransEffectiveDate>
      > > ...
      > > </ppp:Transaction>
      > > </SOAP:Body>
      > > </SOAP:Envelope>
    Your message has been successfully submitted and would be delivered to recipients shortly.