Templates

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:

  1. A header template for specifying HTTP headers that are not supported directly.
  2. A content template for the content of the message.

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.