Each HTTP message basically consists of two parts, a header and content, departed by an empty line. For example:
POST /invoke/myFunction HTTP/1.1
UserAgent: ITP/XML WebServices Connection
Host: myHost
Authorization: Basic bGhak…
Content-Type: application/xml
Content-Length: …
<?xml version="1.0" encoding="iso-8859-1"?>
<biztalk_1 xmlns="urn:biztalk-org:biztalk:biztalk_1">
…
</biztalk_1>
The content of such messages however, may vary widely. There are many different standard HTTP headers and many non-standard as well. The content may be anything. The XML WebServices Connection supports many different HTTP request messages by the use of templates.
There are two types of templates:
So, using the example above, these templates fit in as follows. The bold text indicates what parts of the message are derived from a template, the rest is filled in by the connection itself.
POST /invoke/myFunction HTTP/1.1
UserAgent: ITP/XML WebServices Connection
Host: myHost
Authorization: Basic bGhak…
Header Template
Content-Type: application/xml
Content-Length: …
Content Template
In the example above, the header template could have been left out because all listed HTTP headers are directly supported by the XML WebServices Connection.