- From: Martin Gudgin <mgudgin@microsoft.com>
- Date: Thu, 2 Jun 2005 07:15:18 -0700
- To: "David Booth" <dbooth@w3.org>, "Jonathan Marsh" <jmarsh@microsoft.com>
- Cc: <public-ws-desc-comments@w3.org>
Doesn't SOAP define what a fault is? I always thought it was any message that had soap:Fault as a child of soap:Body... Gudge > -----Original Message----- > From: public-ws-desc-comments-request@w3.org > [mailto:public-ws-desc-comments-request@w3.org] On Behalf Of > David Booth > Sent: 02 June 2005 13:57 > To: Jonathan Marsh > Cc: public-ws-desc-comments@w3.org > Subject: RE: Faults that are not described in WSDL? > > > I think this needs more attention, and perhaps I was not clear enough > about my concern. I'm fine with faults being an open set. > That is not > my concern. > > My concern is that the spec is not clear about how faults that are not > described by the WSDL interface would be recognizable as faults when > they are received. In other words, if a client receives an unexpected > message X, how does it know whether message X represents a > well-formed, > undeclared fault message or is an erroneous message containing random > gibberish? Something must indicate to the client, in a > machine-processible language that the client understands, > that message X > represents a fault. > > I think there is an implicit assumption being made that either: > > a. binding/transport-level mechanisms will permit undeclared faults to > be recognizable as undeclared faults (for example, by the use of SOAP > fault codes or HTTP error codes); or > > b. the parties must agree out-of-band (i.e., outside of the WSDL > description) how undeclared faults can be recognized as undeclared > faults. > > Section 2.3.1 seems to be saying that conceptually every interface has > one more fault type implicitly declared -- call it > UndeclaredFault -- in > addition to the explicitly declared faults, and this is a catch-all > fault type that can indicate any kind of fault. Thus, an application > written against the interface must be prepared to handle an > UndeclaredFault in addition to the declared faults. But how is this > UndeclaredFault at the abstract level bound to an underlying > binding/transport mechanism? AFAICT, the spec does not say. In other > words, if a party wishes to send an UndeclaredFault, what > mechanism must > be used to send it? Both parties need to know what mechanism will be > used, thus either the WSDL document or the WSDL spec should say > explicitly what that mechanism is. Rather than being silent and > assuming that "magic occurs", I think it would be much better for the > spec to discuss these UndeclaredFaults explicitly. > > In general, the binding is responsible for indicating how > notions at the > abstract level are manifested at the transport level. In theory, a > binding extension could provide syntax to permit > UndeclaredFaults to be > bound explicitly to an underlying mechanism via > wsdl:bindings. However, > in practice, the binding extensions may always bind > UndeclaredFaults in > a fixed, default way. For example, UndeclaredFaults might always be > bound to SOAP fault codes if the WSDL SOAP binding extension > is used, or > using HTTP error codes if the HTTP binding extension is used. > > In summary, I think clarification along the following lines > would help: > > 1. Part 1 should give some indication of how UndeclaredFaults are > expected to be bound. For example, it could add a subsection like: > [[ > Undeclared Faults > Faults other than the ones described in the Interface > component can also > be generated at run-time, i.e. faults are an open set. > Faults that are > not declared in the Interface component are known as > Undeclared Faults. > > Note: It is the binding extension's responsibility to specify how > Undeclared Faults are transmitted. For examples, see Part 2 SOAP > Binding Extension section @@BindingUndeclaredFaults@@ or Part 2 HTTP > Binding Extension section @@BindingUndeclaredFaults@@. > ]] > > 2. The binding extensions should say explicitly how > UndeclaredFaults are > transmitted. For example, the WSDL SOAP MEP Binding > Extension could add > a subsection to section 4.7 like: > [[ > Binding Undeclared Faults > In addition to any faults that are explicitly declared for an > interface, > the WSDL SOAP Binding Extension can transmit Undeclared Faults > @@reference Part 1 Undeclared Faults@@ associated with the interface. > Undeclared Faults are always transmitted using SOAP fault code/subcode > combinations that are not associated with any declared faults for the > interface. > ]] > (The above might need to be stated in a little tighter spec-ese, but > hopefully this gives you the idea.) > > The WSDL HTTP Binding Extension could say something similar. > > Please let me know if further clarification would help. > > Thanks, > David Booth > > > On Fri, 2005-05-20 at 20:44 -0700, Jonathan Marsh wrote: > > Thank you for your comment - we tracked this as a Last Call > comment LC72 > > [1]. The Working Group declined to make any changes to the > spec as a > > result. Faults by their very nature need to be an open set. > > > > If we don't hear otherwise within two weeks, we will assume this > > satisfies your concern. > > > > [1] http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC72 > > > > > -----Original Message----- > > > From: public-ws-desc-comments-request@w3.org > [mailto:public-ws-desc- > > > comments-request@w3.org] On Behalf Of David Booth > > > Sent: Thursday, October 28, 2004 8:37 AM > > > To: public-ws-desc-comments@w3.org > > > Subject: Faults that are not described in WSDL? > > > > > > > > > Part 1 section 2.3.1 says "Note that faults other than the ones > > > described in the Interface component can also be generated at run- > > > time, > > > i.e. faults are an open set.". > > > > > > I think this needs clarification. How can a client > application or Web > > > service know what additional faults to expect, and what message > > > schemas > > > would describe such faults? > > > > > > -- > > > > > > David Booth > > > W3C Fellow / Hewlett-Packard > > > > > > -- > David Booth <dbooth@w3.org> > >
Received on Thursday, 2 June 2005 14:15:26 UTC