BizTalk Message Structure

A BizTalk message can be thought of as a SOAP document that contains special BizTalk tags in the SOAP Header element and one or more business documents in the SOAP Body element. These BizTags are a set of XML tags predefined by the BizTalk Framework 2.0 specification and used to specify how the document will be handled. The BizTags provide a loosely bound method for routing the SOAP message. The SOAP body contains the information being passed in the message. This structure is illustrated in Figure 9-1.

Figure 9-1. A BizTalk message.

The business document is a well-formed XML document that consists of business transaction data. A schema will be used to validate the business document. BizTalk schemas can be published at the Web site http://www.biztalk.org and can be shared among corporations.

At the time of this printing, BizTalk uses an XML Data Reduced (XDR) schema, which is slightly different from the schema defined by the current Worldwide Web Consortium (W3C) standard. The XDR schema is expected to be used until the W3C releases the final schema standard, at which time BizTalk will implement the standard schema. The differences between the two schemas will be discussed in the section "XML Data Reduced Schemas" later in this chapter.

BizTalk messages are used to pass BizTalk documents from one BizTalk Framework 2.0 Compliant (BFC) server to another. The creation and routing of a BizTalk message is illustrated in Figure 9-2.

Figure 9-2. Creation and routing of a BizTalk message.

As you can see, an application generates a BizTalk document according to the rules of a published BizTalk schema. This document is passed to a BizTalk server to create a BizTalk message. The BizTalk message is sent across a business boundary to a BizTalk Framework Compliant (BFC) server, which will then determine the destination based on the information in the BizTalk document.

BizTalk Documents

The BizTalk document is a SOAP 1.1 message that consists of two primary sections: the SOAP Header section, which contains the BizTalk document header that has information about the document, and the SOAP Body, which contains the actual business transaction information. The SOAP Header section in a BizTalk document must contain the BizTalk-specific <properties> and <delivery> BizTags. The <manifest> and <process> BizTags can also be included in the BizTalk document header. The structure of the BizTalk document within a BizTalk message is illustrated in Figure 9-3.

Figure 9-3. The structure of a BizTalk document.