To construct a valid request/reply message there are a few key requirements:
- The XML must be well-formed and pass schema validation against the TFMData Service schema. Requests that are malformed or fail validation will receive a response indicating the violation found.
- The user must be authorized to perform the requested service code. Failed authorization will result in a response sent to the user that indicates the failed authorization.
- The required JMS properties, which include user and message identification information, must be correct to uniquely identify the request. If the TFMDataClass is unknown, TimeStamp is in an invalid format, UUID is in an invalid format or the serviceCode is unknown, no response is returned to the user.
- The required JMS properties stated above must match the message payload values where indicated. Errors related to JMS property mismatches result in a response sent to the user that describes the error.
All TFMData Request/Reply messages have common JMS Properties and XML elements that must be provided. Failure to include these items will result in messages being rejected. The following tables provide guidance for constructing the tfmData.tfmRequestReply.request XML messages.
JMS Properties
JMS Property | Required/ Optional | Description | Sample Value |
SchemaVersion | Optional | Set to the Schema Version; It is recommended to provide this optional JMS Property to ensure the correct schema versions are being utilized and to support logging and debugging. | 2.0.5 |
TFMDataClass | Required | Identifies the TFMData business function. | RequestReplyData |
TimeStamp | Required | Identifies the date and time of the transmission in Zulu time in the following format: yyyy-mm-ddThh:mm:ssZ | 2016-02-08T16:33:47Z |
UUID | Required | “nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn” – a universally unique identifier with the format 8-4-4-4-12 hex digits generated in accordance with RFC 4122. The UUID is used to uniquely identify the request message. This UUID must match the tfmData.tfmRequestReply. request.requestId.uniqueMsgId element provided in the request message payload.
For further details on the RFC4122 standard: RFC 4122, A Universally Unique IDentifier (UUID) URN Namespace, July 2005. http://www.ietf.org/rfc/rfc4122.txt
|
4f55856f-8d75-4509-9af4- 111111111119 |
serviceCode | Required | Provides the request code for the service request. This must match the serviceCode attribute contained in the message payload. | ARPTM |
center | Optional | Provides a predetermined user identification that can correspond to a ARTCC, TRACON, Terminal, IDP client, Airline etc. that is associated to the NEMS endpoint the center is connected to. This parameter is used by TFMS to determine the type of service the user is authorized to use and the type of data a user can receive. This value is verified and set by NEMS after successful authentication. It represents valid adaptation based identifiers that are coordinated between TFMS and NEMS. If this is not provided by the client NEMS will set the property for TFMS, thus this is optional. When provided this value must match the requestId.requestor.center element value provided in the message payload. | AAL |
requestorId | Optional | This is an optional identifier that identifies an individual end point that is making the request and to which the reply will be directed to. It can be used by a client to support internal routing of the response message, for example to represent a specific application, or server. When provided this value must match the requestId.requestor.requestorId element value provided in the message payload. | Server01 |
XML Elements
The requestId data elements must be provided to uniquely identify the requestor. The requestId information is mirrored in the response for the requestor to associate a response to the original request.
Schema Element | Required/ Optional | Description | Sample Value |
tfmDataService.tfmRequestReply.request.serviceCode | Required | Attribute that provides the request code for the service request. This value must match the serviceCode provided in the JMS Properties. | ARPTM |
tfmDataService.tfmRequestReply.request.requestId.requestor.center | Required | Provides the user identification for the request. This is used by TFMS to authorize the request based on established user privileges. This identification will be established by FAA and provided to users during the on-ramping process. This needs to be set to the established user identification and must match the center provided in the JMS Properties. | AAL |
tfmDataService.tfmRequestReply.request.requestId.requestor. requestorId | Optional | This is an optional identifier that identifies an individual end point that is making the request and to which the reply will be directed to. It can be used by a client to support internal routing of the response message, for example to represent a specific application, or server. When provided this value must match the requestorId provided in the JMS Properties. | Server01 |
tfmDataService.tfmRequestReply.request.requestId.uniqueMsgId | Required | Unique message identifier supplied by the requestor and repeated by TFMS in the response so that the requestor can correlate the two; it is the responsibility of the requestor to maintain the sequence in message processing where it is deemed necessary. This must match the UUID provided in the JMS Properties and as such must be RFC4122 compliant. | 4f55856f-8d75-4509-9af4- 111111111119 |
tfmDataService.tfmRequestReply.request.requestId.replyOption | Optional | Specifies under what conditions a reply is to be communicated: SUCC_OR_ERR_OR_WARN, ERR_OR_WARN, ERROR, NEVER. If not provided the default is to reply always (SUCC_OR_ERR_OR_WARN). | ERR_OR_WARN |