120 likes | 440 Views
Faults for NM-WG Services. Dan Gunter, LBNL GGF12, Brussels September 2004. Outline. Why we are talking about this What’s out there Suggestions for what we can do Administrativia. Background. NM-WG has been working on some Web Services for requesting and reporting network monitoring data
E N D
Faults for NM-WG Services Dan Gunter, LBNL GGF12, Brussels September 2004
Outline • Why we are talking about this • What’s out there • Suggestions for what we can do • Administrativia GGF12, Brussels, Belgium
Background • NM-WG has been working on some Web Services for requesting and reporting network monitoring data • “Request” schema • “Response” schema • This session is the first joint discussion of how to report failures GGF12, Brussels, Belgium
Faults and Web Services • WSDL has a standard way to indicate faults, I.e. schemas for fault elements • SOAP (used to invoke the service) can distinguish between a “normal” service return value and a “fault” • Therefore the important task is to define a structure for the fault elements GGF12, Brussels, Belgium
WS-RF Standards • OASIS TC on WS-RF has a document (by Steve Tuecke et. al.) on a general-purpose structure for faults: • wsrf-WS-BaseFaults-1.2-draft-02.pdf • We should use this! GGF12, Brussels, Belgium
WS-RF Base Fault <BaseFault> <Timestamp>xsd:dateTime</Timestamp> <OriginatorReference> wsa:EndpointReferenceType </OriginatorReference> ? <ErrorCode dialect="anyURI">xsd:string</ErrorCode> ? <Description>xsd:string</Description> * <FaultCause>wsbf:BaseFault</FaultCause> * </BaseFault> e.g. POSIX GGF12, Brussels, Belgium
Extending BaseFault • The specification requires that all services extend BaseFault in their WSDL • Same idea as extending a base Exception class to add user-defined Exception types • E.g.: <xsd:complexType name=“MyFaultType"> <xsd:complexContent> <xsd:extension base="wsbf:BaseFaultType"/> </xsd:complexContent> </xsd:complexType> GGF12, Brussels, Belgium
BaseFault is just a framework • NM-WG still needs to agree on a list or taxonomy of fault types, along with whatever additional data they contain • Next slide(s) contain some suggestions to start discussion GGF12, Brussels, Belgium
NM-WG Base Fault • Pick a namespace like http://ggf.org/NM-WG/2004/09/faults/ • Call it, e.g., “NMWGBaseFault” GGF12, Brussels, Belgium
Dialects • Indicate how to interpret the <ErrorCode> element • Meant to encapsulate legacy error codes • Two seem of immediate use: • When querying a DB; SQL errors • URI = http://ggf.org/NM-WG/2004/09/faults/SQL/ • Use “SQLSTATE” codes? http://www.pitt.edu/AFShome/h/o/hoffman/public/html/oradoc/server.804/a58231/appd.htm • When running a network test; program errors • URI = http://ggf.org/NM-WG/2004/09/faults/POSIX/ • URI = http://ggf.org/NM-WG/2004/09/faults/{program}/ GGF12, Brussels, Belgium
Some DAIS-WG faults • MessageNotValid • The message is not supported at all or it is not supported at this time • ResourceNotAvailable • The data resource that is the target of the message is not available. This could be that the data resource has been identified incorrectly or that is has stopped operating. • ConcurrentOperationsNotSupported • The service is already processing a message and concurrent operations are not supported GGF12, Brussels, Belgium
Adminstrative Issues • Separate document for faults? • Pro: Can be worked on in parallel • Con: Needs to be kept in sync with requirements and specs • Who will take the time to write this up? • Don’t all raise your hands at once! GGF12, Brussels, Belgium