XML

The manifest Element

The manifest element is a child element of the SOAP Header element; it is used to indicate which files are actually included in or associated with a BizTalk document. The manifest element is a catalog of all the documents carried in the BizTalk document. Additional files, such as images or other binary information, can be included in or with the BizTalk document. The manifest element has one required child element: reference, which can occur one or more times. An example of the manifest element is shown in the following code:

  <fst:manifest xmlns:fst=
     "http://schema.biztalk.org/btf-2-0/manifest">
     <fst:reference fst:uri="#Purchase_Order">
        <fst:description>Purchase order for Northwind
        </fst:description>
     </fst:reference>
     <fst:reference fst:uri="CID:po.jpg@NorthwindTraders.com">
        <fst:description>Scanned image of the contract
        </fst:description>
     </fst:reference>
  </fst:manifest>

The reference element

The reference child element is used to reference additional XML or non-XML files that were sent as part of the BizTalk message. These files can include content that is not carried in the BizTalk document. These files can be implemented as Multipurpose Internet Mail Extensions (MIME) parts or can be implemented through other mechanisms. MIME includes a standard set of tags that can be included within the Header section of the document. These tags can then be used to identify, attach, and send additional documents. BizTalk currently uses MIME.

NOTE
If you try to include binary information in your XML document as an element, you will receive errors because the binary information will have invalid characters. You can base-64 encode the binary file, which will convert all the binary information to text characters. Unfortunately, this will increase the size of the BizTalk message and might not be the best solution. You could also use multipart MIME, which is a standard format for referencing one or more nontext attachments. We'll discuss using multipart MIME later in this chapter.

The reference child element can have two child elements: uri and description. The uri is mandatory and the description is optional. Both can occur only once.

The uri child element contains a reference that can be resolved to the resource that is being referenced in the reference element. The uri can be:

  • A relative URI reference in the form of #id that resolves to business documents in the SOAP Body
  • A content-ID URL in the form of CID:content-ID-Value that will resolve to attachments carried as MIME parts with the BizTalk message
  • A URL that will resolve to attachments that are carried as MIME parts with the BizTalk message, but outside the BizTalk document

The description element is a text description of the document that is referenced by the reference element.