2.1.1.2.1 Receiving Request

The server implementation of this protocol MUST listen on the TCP port as specified in section 3.2.3. When a connection is available, the implementation of the protocol MUST process the message from the connection stream as follows. An implementation MUST NOT send anything other than the reply to this request in this connection.

If the message frame of the request message does not conform to the structure specified in Message Frame Structure (section 2.2.3.3) or if the OperationType field of the message frame is neither Request(0) nor OneWayRequest(1) then an implementation MUST send back a fault as specified below.

An implementation MAY process implementation-defined CustomHeaders in an implementation-specific way. The implementation MUST ignore any CustomHeaders that it does not understand.<6>

A transport fault MUST be sent as a reply as specified in Sending Reply (section 2.1.1.2.2) with additional constraints on the message frame construction as follows:

  • The ContentDistribution field MUST be written as NotChunked.

  • The ContentLength field MUST be written as zero.

  • The StatusCode header MUST be written with a value of 1 (Error).

  • The StatusPhrase header SHOULD contain helpful text about the error.

  • The CloseConnection header MUST be written to indicate that the connection must not be cached after processing this message.

  • The implementation MUST NOT write any MessageContent.