- From: Jacek Kopecky <jacek@systinet.com>
- Date: 16 Oct 2002 14:38:11 +0200
- To: Ed Roskos <c0wg0esm00@yahoo.com>
- Cc: XMLP Dist App <xml-dist-app@w3.org>
Ed, consider a streaming receiver of the stream response you are generating. It sees some correct responses and handles them and then it sees the fault - what should it do now? The answer (e.g. "just stop further processing" or "undo anything done by this message") depends on the application and the are is very difficult to solve once and for all. That's why SOAP 1.2 doesn't even pretend to go there. An application that does such streaming can allow an application-defined failure block (after the previously streamed body blocks). This failure block is assumed to have a well-defined version of the answer. In other words, SOAP 1.2 doesn't consider boxcarring and its faulting mechanism is message-level (the incoming message is faulty so the whole result message is a fault). The key is that SOAP 1.2 doesn't prevent you from desiging the failure block as a part of your application (which is really necessary anyway because of the differences in the answer above). Best regards Jacek Kopecky Senior Architect, Systinet Corporation http://www.systinet.com/ On Tue, 2002-10-15 at 22:30, Ed Roskos wrote: > > > In the SOAP 1.2 working draft: > > http://www.w3.org/TR/2002/WD-soap12-part1-20020626/#soapfault > > section 5.4: SOAP Fault, > > it states: > > "To be recognized as carrying SOAP error information, > a SOAP message MUST contain a single SOAP Fault > element information item as the only child of the SOAP > Body . > > When generating a fault, SOAP senders MUST NOT include > additional element information items in the SOAP Body > . A message whose Body contains a Fault plus > additional element information items has no > SOAP-defined semantics." > > A dilemna I am facing is that a response message I > generate from an application is streamed, and an error > may occur some time after I start streaming the > response. Because of resource restrictions on the > server platform, I cannot know before I start > streaming whether or not an error will occur. My > understanding of SOAP 1.1 is that I can add a Fault > element in the output after previous elements have > already been streamed (provided, of course, I make it > a direct child of the Body element). In SOAP 1.2, > this is not possible, and I am left indicating the > error in some other fashion. > > I looked in the archives (only recently joined this > group...) and could not find a reason for why this > restriction was added. May I suggest the board > reconsider whether the Fault element must be unique > in 1.2? >
Received on Wednesday, 16 October 2002 08:38:17 UTC