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 andhttp://«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.