OASIS ebXML Messaging Services TC

FW: Issue 47 - Payload extensible Metadata

  • 1.  FW: Issue 47 - Payload extensible Metadata

    Posted 09-27-2006 00:19

    Here are some proposed changes to address issue 47 - Payload extensible
    Metadata. I am basing the changes on Working Draft 14 of the Core Spec.
    Note that the schema will need to be updated based on these changes. I have
    not updated the schema at this point.

    ----
    Section 5.2.1.11 eb:Messaging/eb:UserMessage/eb:MessageProperties
    Change "payload" to "message" at line 833. I want to do this to distinguish
    between properties that are tied to the entire message, and properties that
    are tied to a single payload.

    Its actual semantics is beyond the scope of this specification. The element
    is intended to be consumed outside the ebMS specified functions. It may
    contain some information that qualifies or abstracts message data, or that
    allows for binding the message to some business process. A representation in
    the header of such properties allows for more efficient monitoring,
    correlating, dispatching and validating functions (even if these are out of
    scope of ebMS specification) that do not require payload access.

    ----
    Section 5.2.1.13
    remove "eb:Description" element lines 861-865.

    ----
    Section 5.2.1.13
    Add the following

    eb:Messaging/eb:UserMessage/eb:PayloadInfo/eb:PartInfo/eb:PartProperties

    This element has zero or more eb:Property child elements.
    An eb:Property element is of xs:anySimpleType (e.g. string, URI) and has a
    @name attribute, the value of which must be agreed between partners.
    Its actual semantics is beyond the scope of this specification. The element
    is intended to be consumed outside the ebMS specified functions. It may
    contain meta-data that qualifies or abstracts the payload data. A
    representation in the header of such properties allows for more efficient
    monitoring, correlating, dispatching and validating functions (even
    if these are out of scope of ebMS specification) that do not require payload
    access.
    Example:
    <eb:PayloadProperties>
    <eb:property name="Description">Purchase Order for 11 widgets</eb:property>
    <eb:property name="MimeType">application/xml</eb:property>
    </eb:PayloadProperties>

    -----

    Section 5.2.1.13
    Update example XML - remove eb:Description element and add eb:PartProperties
    element and sub-elements.

    <eb:PayloadInfo>
      <eb:PartInfo href="cid:foo@example.com">
        <eb:Schema eb:location="http://example.org/bar.xsd" eb:version="2.0"/>
            <eb:PartProperties>
                <eb:property name="Description">Purchase Order for 11
    widgets</eb:property>
                <eb:property name="MimeType">application/xml</eb:property>
            </eb:PartProperties>
      </eb:PartInfo>
      <eb:PartInfo href="#goo_payload_id">
        <eb:Schema eb:location="http://example.org/bar.xsd" eb:version="2.0"/>
             <eb:PartProperties>
                <eb:property name="Description">Purchase Order for 10000
    widgets</eb:property>
                <eb:property name="MimeType">application/xml</eb:property>
            </eb:PartProperties>
     </eb:PartInfo>
    </eb:PayloadInfo>

    -----

    5.3.1 Example must be updated.
    eb:Description element Removed and eb:PartInfo element added


    S11:Envelope xmlns:S11="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:eb="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-3
    _0.xsd">
    <S11:Header>
       <eb:Messaging eb:version="3.0" S11:mustUnderstand="1">
          <eb:UserMessage>
             <eb:MessageInfo>
                <eb:Timestamp>2000-07-25T12:19:05</eb:Timestamp>
                <eb:MessageId>UUID-1@requester.example.com</eb:MessageId>
             </eb:MessageInfo>
             <eb:PartyInfo>
                <eb:From>
                   <eb:PartyId>uri:requester.example.com</eb:PartyId>
                   <eb:Role>http://example.org/roles/Buyer</eb:Role>
                </eb:From>
                <eb:To>
                   <eb:PartyId eb:type="someType">QRS543</eb:PartyId>
                   <eb:Role>http://example.org/roles/Seller</eb:Role>
                </eb:To>
             </eb:PartyInfo>
             <eb:CollaborationInfo>
               
    <eb:AgreementRef>http://registry.example.com/cpa/123456</eb:AgreementRef>
                <eb:Service>QuoteToCollect</eb:Service>
                <eb:Action>NewPurchaseOrder</eb:Action>
                <eb:ConversationID>4321</eb:ConversationID>
             </eb:CollaborationInfo>
             <eb:MessageProperties>
                <eb:property
    name="ProcessInst">PurchaseOrder:123456</eb:property>
                <eb:property name="ContextID"> 987654321</eb:property>
             </eb:MessageProperties>
    <eb:PayloadInfo>
      <eb:PartInfo href="cid:foo@example.com">
        <eb:Schema eb:location="http://example.org/bar.xsd" eb:version="2.0"/>
            <eb:PartProperties>
                <eb:property name="Description">Purchase Order for 11
    widgets</eb:property>
                <eb:property name="MimeType">application/xml</eb:property>
            </eb:PartProperties>
      </eb:PartInfo>
    </eb:PayloadInfo> 
    </eb:UserMessage>
       </eb:Messaging>
    </S11:Header>
    <S11:Body>
      ...
    </S11:Body>
    </S11:Envelope>...

    ----
    Regards,
    Ric