Description:
Specification
does not clarify what happens when a invoke activity fails with
bpws:correlationViolation fault for the out message (i.e. pattern out or
out-in). Is the request actually send out or not?
Submitter’s proposal:
In the case
of the correlationViolation failure for the outbound message, the message is
not dispatched out.
- In
section 14.3 Correlation, replace the paragraph:
If the correlation set is already initiated and the initiate attribute
is set to "no", the correlation consistency constraint MUST be
observed. An inbound message cannot be received unless it matches the stated
correlation set. Though there is one exception; an inbound message will be
received in the case of an <invoke> with a request/reply operation even
if the reply does not match the stated correlation set. In this case
bpws:correlationViolation MUST be thrown by a compliant implementation. If the
correlation set does not match an outbound message then the standard fault
bpws:correlationViolation MUST be thrown by a compliant implementation.
by:
If the correlation set is already initiated and the initiate attribute
is set to "no", the correlation consistency constraint MUST be
observed. An inbound message cannot be received unless it matches the stated
correlation set. Though there is one exception; an inbound message will be
received in the case of an <invoke> with a request/reply operation even
if the reply does not match the stated correlation set. In this case
bpws:correlationViolation MUST be thrown by a compliant implementation. If the
correlation set does not match an outbound message then the standard fault
bpws:correlationViolation MUST be thrown by a compliant implementation and
the outbound message MUST NOT be dispatched by the process.
- In
Appendix A. Standard Faults, replace the paragraph:
Thrown
when the contents of the messages that are processed in an invoke, receive, or
reply activity do not match specified correlation information.
by:
Thrown when the contents of the messages that are processed in an
invoke, receive, or reply activity do not match specified correlation
information. If the fault is in the context of an inbound message, then the
message MUST not be received by the process, except in the case of an invoke
activity with a request/reply operation. If the fault is in the context of an
outbound message, then the message MUST NOT be dispatched by the process.