OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

wsbpel message

[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 

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:

      <partnerLink name="ncname" partnerLinkType="qname"
           myRole="ncname"? partnerRole="ncname"? partnerRoleSet=anyURI?>+

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, 
If the partnerRoleSet attribute is not specified then its value MUST be 
treated as 

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 
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 

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]