- From: Doug Davis <dug@us.ibm.com>
- Date: Fri, 18 May 2001 22:11:47 -0400
- To: xml-dist-app@w3.org
The message exchange model says (below is from our
editor's draft):
A XMLP/SOAP application receiving a XMLP/SOAP message
MUST process that message by performing the following
actions in the order listed below:
1 - Identify all blocks of the XMLP/SOAP message intended
for that application (see section 4.2.2)
2 - Verify that all mandatory blocks identified in step 1
are supported by the application for this message (see
section 4.2.3) and process them accordingly. If this is
not the case then discard the message (see section 4.4).
The processor MAY ignore optional blocks identified in
step 1 without affecting the outcome of the processing.
3 - If the XMLP/SOAP application is not the ultimate
destination of the message then remove all blocks
identified in step 1 before forwarding the message.
There are a couple of things that I wanted to get people's
opinion on:
- this doesn't (nor does any other part of the spec)
say anything about a SOAP/XMLP processor validating
the message. Or is it assumed that if it doesn't
match the schema it MUST fault? Is a processor
noncompliant if it doesn't fault?
- Taking a very literalist approach, the above list
could be taken to imply that a SOAP/XMLP processor
needs to scan the entire message in order to identify
all of the blocks intended for it before can process
any of them. Is this truly the intent? If so is
a streaming based SOAP/XMLP processor that reads and
processes the message blocks as they come rather in than
doing a complete identification process first (as
#1 suggests) wrong?
I want to believe that an implementation can perform
steps 1,2 and 3 on each block individually rather
than having to preform step 1 on the entire message,
then step 2 on the entire message and finally step 3,
but it isn't clear. Perhaps some clarification is
needed in the spec?
-Dug
Received on Friday, 18 May 2001 22:11:51 UTC