An HTTP Endpoint allows data to be pushed as XML to an external web application.
This “push” is performed as an HTTP POST request to the specified URL. The content can only be XML, so one of the transformations must be an XML transformation, but a subsequent XSL transformation can also be applied before the HTTP request is made.
It is also typical to include a Common Data Transformation prior to the XML transformation.
When the HTTP request is made the Content-Type will be ‘application/xml’ and the XML will be UTF-8 encoded. The URL value can only be HTTP or HTTPS and must be accessible from the AMS gateway, typically this means over the Internet but if running a private or hosted gateway then only accessible from the server running AMS.
If the route contains any attachments, apart from XML, then the HTTP request will become a multipart/form-data request. The xml will be under the ‘message_xml’ parameter and there will be an ‘attachment_count’ parameter that will indicate the number of attachments present in the request. Each attachment will then be under an ‘attachment_[index]’ value e.g. if there is 1 attachment it can be accessed via the ‘attachment_1’ parameter.
If an Authorisation Key has been provided then the hashed value of the key will be specified in the ‘x-ams-auth-key’ custom http header and the root XML element will have an ‘authKey’ attribute with the same value.
For more detail on the hashing processed used see Verifying Hashed Auth Keys
XML Element Ordering (.Net WCF REST)