2.2.4.43 WSManFaultType

A SOAP fault is used to carry error information within a SOAP message. A fault is returned when the SOAP message is successfully delivered by the transport, and processed by the service but not processed properly.

The WS-Management Protocol defines an extensibility model that allows a service to include additional fault information in the s:Detail element. The Web Services Management Protocol Extensions for Windows Vista defines WSManFault for reporting additional fault information. The schema for WSManFault MUST be as follows.

 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
 xmlns:wsmanfault="http://schemas.microsoft.com/wbem/wsman/1/wsmanfault" 
 targetNamespace="http://schemas.microsoft.com/ wbem/wsman/1/wsmanfault" 
 elementFormDefault="qualified" attributeFormDefault="unqualified">
     <xs:simpleType name="GUIDType">
         <xs:restriction base="xs:string">
             <xs:pattern value=
 "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"/>
         </xs:restriction>
     </xs:simpleType>
     <xs:complexType name="WSManFaultType">
         <xs:sequence>
             <xs:element name="Message" type="wsmanfault:MessageType" 
                 minOccurs="0"/>
         </xs:sequence>
         <xs:attribute name="Code" type="xs:unsignedInt" use="required"/>
         <xs:attribute name="Machine" type="xs:string" use="required"/>
         <xs:anyAttribute processContents="lax"/>
     </xs:complexType>
     <xs:element name="WSManFault" type="wsmanfault:WSManFaultType"/>
     <xs:complexType name="ProviderFaultType" mixed="true">
         <xs:sequence>
             <xs:any processContents="lax" minOccurs="0" 
                 maxOccurs="unbounded"/>
         </xs:sequence>
         <xs:attribute name="providerId" type="wsmanfault:GUIDType"/>
         <xs:anyAttribute processContents="lax"/>
     </xs:complexType>
     <xs:complexType name="MessageType" mixed="true">
         <xs:sequence>
             <xs:element name="ProviderFault" 
                type="wsmanfault:ProviderFaultType"
                minOccurs="0"/>
         </xs:sequence>
     </xs:complexType>
 </xs:schema>

Code:  An integer that contains an implementation-specific error code.<35>

Machine: A string that SHOULD specify the machine name where this fault occurred.<36>

Message: Message is a complex type that allows mixed content. It can contain a sequence of elements of type ProviderFault and text that contains a user-friendly description of the fault. No restrictions are placed on content or format of the descriptive text. Each ProviderFault element contains resource-specific fault information. ProviderFault can contain a sequence of elements of xs:any type.

The Web Services Management Protocol Extensions for Windows Vista service MUST include either a Message element of xs:string type that contains a user-friendly description of the error or a ProviderFault element that MUST contain a WSManFault element of type WSManFault. This WSManFault element MUST contain a Message element that is of xs:string type that contains a user-friendly description of the error. The language of the text SHOULD correspond to the language specified in the xml:lang attribute in the Text element, as defined in [DMTF-DSP0226] section 14.2.

ProviderFault:  An element that MUST contain specific, resource provider fault information.

providerId: A GUID element that SHOULD contain the identifier of the resource provider that generated the fault on the Web Services Management Protocol Extensions for Windows Vista service.<37>