- 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