Hello Jacques,
Yes, I believe this backwards compatible. I think we
could just reuse the elements in the ebMS schema instead of inviting a new
eb:Select element:
<eb3:PullRequest mpc="http://msh.example.com/mpc123">
<eb3:RefToMessageId></eb3:RefToMessageId>
</eb3:PullRequest>
And
similarly for ConversationId.
What
do we win/loose by adding other standard header elements like From/PartyId
?
Pim
From: Jacques R. Durand
[mailto:]
Sent: 01 April 2010
01:09
To:
Subject:
[ebxml-msg] Proposal for extended PullRequest
Based on
todays's discussion:
Here are some samples of extended PullRequest, followed
by the proposed (rough) schema.
I believe this
is still backward compatible, Pim? (PullRequest allows for a sequence of any as
children elements)
Semantics:
The MSH
receiving such a PullReques MUST either:
(a) return a
message assigned to the same @mpc, and that has same eb:RefToMessageId value as
@reftomessageid (if the latter is specified) and same eb:ConversationId value as
@conversationid (if the latter is specified) and that contains the message
properties specified as children of <eb:Select> (if
any).
(b) return
error EBMS:0006 (EmptyMessagePartitionChannel ) if no message is currently
assigned to this MPC , that matches the selecting conditions in
(a).
Examples:
<eb:SignalMessage>
<eb:MessageInfo>
<eb:Timestamp>2006-07-25T12:19:05</eb:Timestamp>
<eb:MessageId></eb:MessageId>
</eb:MessageInfo>
<eb:PullRequest mpc="http://msh.example.com/mpc123">
<eb:Select reftomessageid="1234"/>
</eb:PullRequest>
</eb:SignalMessage>
<!--
============================= -->
<eb:SignalMessage>
<eb:MessageInfo>
<eb:Timestamp>2006-07-25T12:19:05</eb:Timestamp>
<eb:MessageId></eb:MessageId>
</eb:MessageInfo>
<eb:PullRequest mpc="http://msh.example.com/mpc123">
<eb:Select conversationid="6"/>
</eb:PullRequest>
</eb:SignalMessage>
<!--
============================= -->
<eb:SignalMessage>
<eb:MessageInfo>
<eb:Timestamp>2006-07-25T12:19:05</eb:Timestamp>
<eb:MessageId></eb:MessageId>
</eb:MessageInfo>
<eb:PullRequest mpc="http://msh.example.com/mpc123">
<eb:Select>
<eb:Property
name="POclass">urgent</eb:Property>
<eb:Property
name="ProductType">expensive</eb:Property>
</eb:Select>
</eb:PullRequest>
</eb:SignalMessage>
<!--
============================= -->
<eb:SignalMessage>
<eb:MessageInfo>
<eb:Timestamp>2006-07-25T12:19:05</eb:Timestamp>
<eb:MessageId></eb:MessageId>
</eb:MessageInfo>
<eb:PullRequest mpc="http://msh.example.com/mpc123">
<eb:Select>
<eb:Property
name="POref">PO2345</eb:Property>
</eb:Select>
</eb:PullRequest>
</eb:SignalMessage>
------------------------------- schema:
-----------------------------------------
<xsd:complexType
name="PullRequest">
<xsd:sequence>
<xsd:element
name="Select"
minOccurs="0">
<xsd:complexType>
<xsd:sequence
minOccurs="0">
<xsd:element
name="Property" type="Property"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute
name="reftomessageid"
type="non-empty-string"/>
<xsd:attribute
name="conversationid"
type="non-empty-string"/>
</xsd:complexType>
</xsd:element>
<xsd:any
namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attributeGroup
ref="pullAttributes"/>
</xsd:complexType>