[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Issue 139.1 - Proposal For Vote
Issue 139.1: How/when BPEL can change partner role EPR
NOTE: This proposal has a dependency on 96.1
Proposal: Put in a switch which specifies if the BPEL engine is required
to use a binding that can set the EPR on partnerRole when receiving a
message.
Rationale: As discussed in the group we know there will be situations
where some bindings (e.g. WS-Addressing) can set partnerRole EPR
information and BPEL programmers will depend on that ability. In other
cases bindings (such as XML over HTTP) don't support setting partnerRole
EPR information and programmers will rely on the fact that their EPRs
won't be changed from underneath them. This proposal gives programmers a
way to make their expectations explicit without having to say anything
about which bindings are used. In other words this proposal specifies an
aspect that a binding used with the BPEL must have but doesn't specify
how that aspect is achieved.
Section 7.2
Change the BNF to read:
<partnerLinks>
<partnerLink name="ncname" partnerLinkType="qname"
myRole="ncname"? partnerRole="ncname"? partnerRoleSet=anyURI?>+
</partnerLink>
</partnerLinks>
From: In the degenerate case where a partnerLinkType has only one role,
one of these attributes is omitted as appropriate.
To: In the case where a WSDL binding is only specified for one of the
two roles then one of these attributes is omitted as appropriate.
Insert the following as a new paragraph after the paragraph that ends
with " See Assignment for the mechanisms used for dynamic assignment of
endpoint references to partner services."
Some bindings provide EPR information about the sender of a message.
When receiving a message the BPEL processor could potentially use this
EPR information to set the EPR value in the partnerRole of a
partnerLink. However if the author of the BPEL process was not expecting
such a binding to be used then they could be surprised to find that an
EPR they have set on a partnerRole has been changed from under them as a
consequence of receiving a message. To prevent such surprises the
partnerRoleSet attribute is introduced. The value of the partnerRoleSet
attribute is a URI. Two URIs are defined as part of this specification,
http://schemas.xmlsoap.org/ws/2004/03/business-process/partnerLink/mustSet
and
http://schemas.xmlsoap.org/ws/2004/03/business-process/partnerLink/mustNotSet.
If the partnerRoleSet attribute is not specified then its value MUST be
treated as
http://schemas.xmlsoap.org/ws/2004/03/business-process/partnerLink/mustNotSet.
partnerRoleSet can be extended by defining new URIs for use with it. If
a BPEL processor encounters a URI value for partnerRoleSet that it does
not support then the BPEL processor MUST reject the BPEL process, the
previous requirement MUST be statically enforced.
The semantics of the
http://schemas.xmlsoap.org/ws/2004/03/business-process/partnerLink/mustSet
URI is that the binding used to receive messages on the specified
partnerLink MUST be able to retrieve the EPR of the sender of the
message and MUST use that EPR to set the value of partnerRole on the
partnerLink.
The semantics of the mustNotSet URI is that the binding used to receive
messages on the specified partnerLink MUST NOT be used to set the EPR on
the partnerLink's partnerRole even if such EPR information is available.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]