[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: BPEL partner link assignments
I'm trying to understand the semantics of assignment to and from partner links in BPEL, and the spec left me with a few open questions. For the purpose of discussion, I'm considering a simple "router" process (R). The one operation exposed by this process includes 2 parts: 1) an amount (xsd:int) 2) the EPR of the requesting process (process REQ) This operation is one way. Based on content in the incoming request, the router chooses a process (process B) to "forward" the request to. Process B is expected to invoke an agreed upon operation on Process REQ, using the EPR information in the message. There are 2 possible implementations: a) The router process assigns from the receiving partner link to a variable (or message part) which is then relayed to process B. Process B then performs its activities and assigns this value to the a partner link which it uses to invoke an operation on REQ. b) REQ is responsible to assign from "myrole" on the partner link facing the router into the a message it eventually sends it. Based on my reading of the 8/23 draft, both implementations are supported. The questions for which I have no clear answer are: 1) Is implementation option A supported ? Assuming it is, the spec in silent on IMA activities affecting the partner link for the purpose of assign activities, and the lifetime of the partner link value. My expectation would be that once an IMA activity has completed, assigning from the partner link would yield the reply-to EPR. Would this also require the partner link variants of the Assign activity to include a messageExchange attribute. 2) Assuming the above is valid, what would the schema type of the variable( or message part) into which the EPR is assigned be? serf:service-reference - in the case of message part, this would cause BPEL specific types to be "leaked" into the abstract WSDL. wsa:endpoint-reference - this would bind the BPEL process to a specific addressing scheme. In either case, it would be useful for the spec to be specific about this point (and an example would be great). 3) Section 6.3 ("Endpoint References")states: The <sref:service-ref> element is not always exposed to WS-BPEL process definitions. For example, it is not exposed in an assignment from the endpoint reference of myRole of partnerLink-A to that of partnerRole of partnerLink-B. On the contrary, it is exposed in an wsbpel-specification-assignment from a messageType or element based variable through expression or from a literal <sref:service-ref>. Section 8.4.3 states that the following is not a valid assignment: the selection result of the from-spec is a variable of a WSDL message type and that of the to-spec is not, or vice versa (parts of variables, selections of variable parts, or endpoint references cannot be assigned to/from variables of WSDL message types directly). It is not clear if these to sections are contradicting. If assignments to/from partner links is allowed (which is explicitly stated in section 8.4), what are the valid combinations? Thanks in advance for your considerations and clarifications.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]