Background
Issue 25 [1] deals with SOAP 1.1 "trailers" which are sub elements of the SOAP envelope following the body. The only wording in the SOAP 1.1 specification [2] which talks about headers is point number 3 under the definition of envelope (my italics):Proposed Usage Scenario1. Envelope
- The element name is "Envelope".
- The element MUST be present in a SOAP message
- The element MAY contain namespace declarations as well as additional attributes. If present, such additional attributes MUST be namespace-qualified. Similarly, the element MAY contain additional sub elements. If present these elements MUST be namespace-qualified and MUST follow the SOAP Body element.
A sender wishes to include a checksum of body contents, but the sending device does not have enough storage capacity to buffer the body before sending. Hence the checksum must be sent physically after the body, and cannot be included in a header element.
Proposed Glossary [3] Changes
I would suggest that the definitions of header and body include their location within the envelope (new text in italics):Processing RulesXMLP header
A collection or zero or more XMLP blocks which may be targeted at any XMLP receiver within the XMLP message path. An XMLP header is the first element within an XMLP envelope.
XMLP bodyA collection or zero, or more XMLP blocks targeted at the ultimate XMLP receiver within the XMLP message path. An XMLP body follows the XMLP header within an XMLP envelope.And the following new definition:XMLP trailer element
A sub element of an XMLP envelope which follows the XMLP body. Trailer elements are NOT comprised of XMLP blocks. However, references to trailer elements may be contained in XMLP blocks.
Blocks within an XMLP header may refer to trailer elements. Whenever such a block is targeted at an XMLP processor and the block contains the MUST UNDERSTAND attribute, the XMLP processor must store the body in order to process the header block before the body. If the block does NOT contain the MUST UNDERSTAND attribute, the XMLP processor should store the body if it is capable of doing so.NotesBlocks within an XMLP body may also refer to trailer elements. The XMLP processor makes these elements available to ultimate receiver of the body.