Based on a discussion I have had with Michael Wang, I like to simplify my
proposal. Essentially, we like to make the structure of
MessagingCharacteristics mirror that of BusinessProcessCharacteristics which
has an empty content model with only a number of attributes.
Also, I no longer think that MessageOrder should be a "per message"
property. Instead, its presence or absense in a message should be completely
governed by a Reliable Messaging parameter in the CPA. It should only be
present in the message header if the CPA indicates that the message order
semantics is "Guaranteed". This requires removal of the
messageOrderSemantics attribute from the MessageOrder element.
Attached please find updated schemas for ebxml-msg and ebxml-cppa
corresponding to this proposal.
The MessagingCharacteristics element now look like:
<element name="MessagingCharacteristics">
<complexType>
<attribute name="ackRequested" type="tns:perMessageCharacteristics.type"
default="perMessage"/>
<attribute name="ackSignatureRequested"
type="tns:perMessageCharacteristics.type" default="perMessage"/>
<attribute name="duplicateElimination"
type="tns:perMessageCharacteristics.type" default="perMessage"/>
<attribute name="actor" type="tns:actor.type"
default="urn:oasis:names:tc:ebxml-msg:actor:toPartyMSH"/>
</complexType>
</element>
<simpleType name="perMessageCharacteristics.type">
<restriction base="NMTOKEN">
<enumeration value="always"/>
<enumeration value="never"/>
<enumeration value="perMessage"/>
</restriction>
</simpleType>
<simpleType name="actor.type">
<restriction base="NMTOKEN">
<enumeration value="urn:oasis:names:tc:ebxml-msg:actor:nextMSH"/>
<enumeration value="urn:oasis:names:tc:ebxml-msg:actor:toPartyMSH"/>
</restriction>
</simpleType>
-Arvola