2.2.5 Fault Records

A Fault Record notifies the sender of an error encountered while processing a message frame. Generation of a Fault Record is informational only.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

RecordType

FaultSize (variable)

...

Fault (variable)

...

RecordType (1 byte): This octet MUST be set to 0x08 to indicate that this is a Fault record.

FaultSize (variable): The value MUST be set to the size, in octets, of the fault, and encoded based on the scheme that is described in section 2.2.2. The size MUST NOT be set to 0.

Fault (variable): A URI (as defined by [RFC2396] except that the "escaped" construct is never used). The URI is encoded by using UTF-8. The following table defines a collection of faults. An implementation MAY support these fault values and MAY also define new ones.<7>

For convenience, in this description the URI is broken into a namespace and fault name. The namespace for faults in the following table is http://schemas.microsoft.com/ws/2006/05/framing/faults/. Any additional faults that are defined MUST NOT use this namespace.

An example of a fault, as returned in a Fault Record, is the following: http://schemas.microsoft.com/ws/2006/05/framing/faults/UnsupportedMode

Fault name values

Meaning

"ConnectionDispatchFailed"

The endpoint that is referenced by the Via Record exists; however, the attempt to dispatch the message to the endpoint failed.

"ContentTypeInvalid"

The Envelope Encoding Record that was sent is not supported by the endpoint.

"ContentTypeTooLong"

The receiver is enforcing a maximum content-type size, and the Envelope Encoding Record exceeded that quota.

"EndpointAccessDenied"

The endpoint that is referenced by the Via Record cannot be accessed.

"EndpointNotFound"

The endpoint that is referenced by the Via Record cannot be found.

"EndpointPaused"

The endpoint that is referenced by the Via Record exists; however, the endpoint is currently paused.

"EndpointUnavailable"

The endpoint that is referenced by the Via Record exists; however, the endpoint is currently unavailable.

"InvalidRecordSequence"

The record sequence does not conform to the grammar that is outlined in section 3.1.1.2.

"MaxMessageSizeExceededFault"

The receiver is enforcing a maximum message size, and the incoming message has exceeded that quota.

"ServerTooBusy"

The endpoint does not have sufficient resources to process the connection.

"ServiceActivationFailed"

The endpoint is in a process that cannot be activated.

"UnsupportedMode"

The Mode Record value is not supported by the destination.

"UnsupportedVersion"

The Version Record value is not supported by the destination.

"UpgradeInvalid"

The requested upgrade is not supported by the remote endpoint.

"ViaTooLong"

The receiver is enforcing a maximum Via size, and the Via Record exceeded that quota.