ws-soap-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Snell <jmsn...@intesolv.com>
Subject RE: Defining a SOAP Application Schema
Date Wed, 26 Jul 2000 15:52:45 GMT
The newest version of the SOAP toolkit (available through the MSDN downloads
page) can handle complex xml payloads like your sample below... with slight
differences though.   I don't have a sample worked up that I can send you
right now (it's on my other computer at home), but it works fairly well. Off
the top of my head, I cannot remember if the IBM tools support this or not,
Sanjiva or one of the others should be able to address that question.

-----Original Message-----
From: Cory Isaacson [mailto:cisaacson@capita2.com]
Sent: Wednesday, July 26, 2000 8:52 AM
To: soap-user@xml.apache.org
Subject: Fw: Defining a SOAP Application Schema


This is very interesting, and I have a related question. Let's say you need
to send or receive a fairly large document (with several recurring record
elements, each with nested data elements underneath them). Can the SOAP
tools handle this, or should I just parse the SOAP message myself and
process it? My goal would be to extract the nested document.

For example:

<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:xsi="http://www.w3.org/1999/XMLSchema/instance/"
 xmlns:xsd="http://www.w3.org/1999/XMLSchema/">
 <SOAP-ENV:Body>
 <m:updateTable xmlns:m="http://myserver/xml-soap/UpdateTable"
 SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
 xsi:schemaLocation="http://myserver/schemas/Schema1
 http://myserver/schemas/Schema1.xsd>
   <RECORD ID=1>
    <COLUMNS>
      <COLUMN NAME=FIRSTNME>Joe</COLUMN>
      <COLUMN NAME=LASTNAME>Jones</COLUMN>
    </COLUMNS>
  </RECORD>
   <RECORD ID=2>
    <COLUMNS>
      <COLUMN NAME=FIRSTNME>Jim</COLUMN>
      <COLUMN NAME=LASTNAME>Johnson</COLUMN>
    </COLUMNS>
  </RECORD>
 </m:updateTable>
 </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


Ideally, I could have an easy way to extract the body of the message as a
separate XML document:

   <RECORD ID=1>
    <COLUMNS>
      <COLUMN NAME=FIRSTNME>Joe</COLUMN>
      <COLUMN NAME=LASTNAME>Jones</COLUMN>
    </COLUMNS>
  </RECORD>
   <RECORD ID=2>
    <COLUMNS>
      <COLUMN NAME=FIRSTNME>Jim</COLUMN>
      <COLUMN NAME=LASTNAME>Johnson</COLUMN>
    </COLUMNS>
  </RECORD>

Can this kind of thing work with the SOAP tools? I can easily see how I
could write my own SOAP compliant document as above, and process it with my
own code (without any SOAP tools) but obviously I would like to use the
tools if it makes sense.

Thanks,

Cory

----- Original Message -----
From: "Octav Chipara" <ochipara@cse.unl.edu>
To: <soap-user@xml.apache.org>
Sent: Wednesday, July 26, 2000 10:11 AM
Subject: RE: Defining a SOAP Application Schema


>
>
> > Subject: RE: Defining a SOAP Application Schema
> >
> >
> > Todd,
> >
> > There are currently four separate proposals for "SOAP Interface
description"
> > grammars that use XML Schema to describe the base XML architecture as
well
> > as additional grammar to describe interface and entrypoint semantics.
There
> > is some progress being made to merge these into one, possibly two,
different
> > proposals.  In the meantime, the two primary choices (currently
available in
> > production environment) are Microsoft's SDL (supported only by the SOAP
> > Toolkit) and IBM's NASSL (supported only by IBM's NASSL Toolkit for the
> > SOAP4J Codebase).  In short: there aren't any really STANDARDS for how
to
> > descibe SOAP interfaces via XML-Schema.  The options you can pick from
are:
> >
> >   1. IBM NASSL
> >   2. MS SDL
> >   3. MS SCL (SDL's successor that is still being defined)
> >   4. SIDL (www.soap-wrc.com/sidl.txt)
> >   5. Raw XML-Schemas
> >
> > - James
> >
>
> Hi James,
>
> I totally agree with what you are saying at this point. However, I believe
> that if we were to use Raw XML Schemas this should a simple choice.
> Theoretically, the parsers available should know namespaces/schemas. If
that
> is true there should be no problem in sending a messages such as the
> following:
>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/1999/XMLSchema/instance/"
> xmlns:xsd="http://www.w3.org/1999/XMLSchema/">
> <SOAP-ENV:Body>
> <m:getRecipe xmlns:m="http://cse-mfayad.unl.edu/xml-soap/RecipeFetcher"
> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> xsi:schemaLocation="http://cse-mfayad2.unl.edu/~ochipara/Schema1
> http://cse-mfayad2.unl.edu/~ochipara/Schema1.xsd">
>   <Recipe>NachoDip</Recipe>
> </m:getRecipe>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
> What I want to point out is that first of all a SOAP message should be a
> valid XML document, in other words, in this example the tag getRecipe
> should be checked against the schema that I have defined, and I should not
> do anything about it. Furthermore, I do not see why I should define a data
> type for <Recipe> as the current implementation oblige me to. It should
> simply grab the data types from my schema and analyze it. Am I right in my
> assumptions?
>
> - Octav
>


Mime
View raw message