Feedback

Fibre Ordering

Web Services Security - Message Diagnostic Header

The Message Diagnostic Header (MDH) elements are part of the SOAP message header.
They are used to identify the request and to link associated requests, responses and notifications.


Message Diagnostic Header elements

NAME CARDINALITY INPUT/OUTPUT DESCRIPTION
diagnosticHeaderId Mandatory I/O All the B2B messages must have a unique Message Diagnostic Header Id. This ID is used as the Correlation Id in the subsequent acknowledgement and response messages.
correlationId   O Added by the responder to associate the response message to the request message. Mandatory element for acknowledgement and response messages. The query initiator is required to verify this Id corresponds to the diagnosticHeaderId value sent in the request.
conversationId Optional I/O

Used to link two or more messages. If it is provided in the request we will replay it in the response.
For requests against an order (Create, Amend or Cancel), if you provide a conversationId:

  • it will be included in the order notification messages
  • you may update it by providing new non-null value in a subsequent request
  • you may omit it from a subsequent request, i.e. use a null value, and we will continue to use the value already provided.
createdDateTime   I/O Date and time the transaction was created.
fromPartyId   I/O Used to indicate the party sending the message. We will provide you with a generated fromPartyId.
toPartyId   I/O Used to indicate the party receiving the message.

Date and time values use the xsd:dateTime format: YYYY-MM-DDTHH:MM:SS+[UTC offset, e.g. 12:00].


Exception Messages

If an error occurs during the processing of the Message Diagnostic Header the Web Service will return an HTTP 500 error to the user and a SOAP fault message containing:

ELEMENT DESCRIPTION
mdh:code  Exception code id.
mdh:reason  Description of the exception.

The following tables contain the common exception messages, refer to standard SOAP specifications for a full set.


Diagnostic Header Id

MDH:CODE MDH:REASON EXAMPLE
ERR999 [diagnosticHeaderId]: is a duplicate Error 999 - [diagnosticHeaderId]:isa duplicate
ERR992 Header parameter [diagnosticHeaderId]: is not present Error 992 - Header parameter [diagnosticHeaderId]: is not present
ERR991 Header parameter data type incompatible [diagnosticHeaderId]: is not a UUID Error 991 - Header parameter data type incompatible [diagnosticHeaderId]: is not a UUID

Correlation ID

MDH:CODE MDH:REASON EXAMPLE
ERR996 [correlationId]: is a duplicate Error 996 - [correlationId]: is a duplicate
ERR995 [correlationId]: not found Error 995 - [correlationId]: not found
ERR992 Header parameter [correlationId]: is not present Error 992 -Headerparameter [correlationId]: is not present
ERR991 Header parameter data type incompatible [correlationId]: is not a UUID Error 991 - Headerparameterdatatype incompatible [correlationId]: is not a UUI

From Party ID

MDH:CODE MDH:REASON EXAMPLE
ERR994 [fromPartyId]:A_CUSTOMER is unknown Error 994 - [fromPartyId]:A_CUSTOMER is unknown
ERR992 Header parameter [fromPartyId]: is not present Error 992 - Headerparameter[fromPartyId]: is notpresent

To Party ID

MDH:CODE MDH:REASON EXAMPLE
ERR993 [[toPartyId]:A_SUPPLIER is unknown Error 993 - [toPartyId]:A_SUPPLIER is unknown
ERR992 Header parameter [toPartyId]: is not present Error 992 - Header parameter [toPartyId]: is not present