Skip to content

Latest commit

 

History

History
45 lines (40 loc) · 4.45 KB

api_specification.md

File metadata and controls

45 lines (40 loc) · 4.45 KB

Holodeck B2B REST back-end integration

API Specification

The REST interface implemented by this extension uses the HTTP POST method to exchange the message meta-data and payload with the message meta-data contained in the HTTP headers and the payload [of a User Message] in the HTTP entity body. The following URL context paths are used for the operations:

  • Submit : http://«holodeckb2b-host»/holodeckb2b/restbackend/submit
  • Deliver : http://«back-end host and base path»/deliver
  • Notify : http://«back-end host and base path»/notify/receipt for Receipt Signal Messages and http://«back-end host and base path»/notify/error for Error Signal Messages.

The table below shows the HTTP headers used to exchange the message meta-data. As the headers are, with exception of Content-Type, non standard they are prefixed with X-HolodeckB2B-.

Header suffix Contains Used in operations
PModeId The identifier of the P-Mode that governs the processing of the message All
MessageId The MessageId of the message All
Timestamp The time stamp of the message All
RefToMessageId The RefToMessageId contained in the message. All
SenderId The PartyId of the Sender of the User Message. Formatted as [ "["type"]" ] identifier Submit and Delivery
SenderRole The Role of the Sender of the User Message. Submit and Delivery
ReceiverId The PartyId of the Receiver of the User Message. Formatted as [ "["type"]" ] identifier Submit and Delivery
ReceiverRole The Role of the Receiver of the User Message. Submit and Delivery
MessageProperties Comma separated list of the Message Properties of the User Message. Each property is formatted as name"=" [ "["type"]" ]value with the type part being optional. Submit and Delivery
ConversationId For the Submit and Deliver operation the ConversationId contained in the User Message.
For Notify the ConversationId of the referenced User Message (if one was specified).
Submit, Delivery and optionally Notify
Service The Service used by the User Message. Formatted as [ "["type"]" ] name Submit and Delivery
Action The Action used by the User Message. Submit and Delivery
Content-Type The MIME Type of the payload. NOTE that this header is a standard HTTP header and therefore not prefixed! Submit and Delivery
Containment Indicates how a XML payload should be included in the User Message. Value can be either "ATTACHMENT" or "BODY". Submit
Content-Id The Content-Id to use for the attachment that contains the payload. NOTE that this header is a standard HTTP header and therefore not prefixed!. Optional, when not provided Holodeck B2B will generate a Content-Id Submit
PayloadProperties Comma separated list of the payload specific properties. Same formatting as for the Message Properties Submit and Delivery
SchemaNamespace The name space URI of the schema that defines the content of the payload Submit and Delivery
SchemaVersion The version of the schema that defines the content of the payload Submit and Delivery
SchemaLocation The location of the schema that defines the content of the payload Submit and Delivery
Errors Includes a comma separated list describing the received ebMS Errors. Each property is formatted as "[" severity"]"error code"-"error details Notify of ebMS Error Messages

In the Deliver and Notify operations all applicable headers are provided by the extension, i.e. if the meta-data is not available for the delivered/notified message the corresponding header is not included. As message meta-data and P-Mode settings are combined to create a complete set of meta-data the required headers to include in the Submission is limited to the PMode identifier, while the rest depends on the P-Mode.
NOTE: Although allowed by HTTP 1.1 (RFC7230) this extension does not support the use of multiple occurrences of a header for comma separated list values.

The HTTP status code in the range 2xx indicates that the operation was successful. All other codes should be interpreted as failure. On Submission the extension adds an additional HTTP header X-Error to the response that includes a (short) description why the submission was rejected.