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


Help: OASIS Mailing Lists Help | MarkMail Help

wsrm message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re: [wsrm] proposed edits for enhancing composability


A few comments below.

On 09-Aug-04 13:09, Jacques Durand wrote:
> When looking at some composition patterns of WS-R with other specs,
> I observed the following, which I think deserves our attention for this 
> release:
> - One case of failure is missing: we have implicitly recognized that the 
> Deliver invocation
> may fail (as we require it to be "successful" in our RM contracts) but 
> we do not say what happens in that case (after the message has passed 
> every other test).
> We know the message will not / should not be acked. But what kind of 
> fault is returned?
> Proposal: Edit Table 25 to add in the entry for MessageProcessingFailure:
> "In case of failure of the Deliver operation, a MessageProcessingFailure 
> RM fault SHALL be generated."

This table covers faults in every situation I believe.  We need to be 
careful about SHALL in this context since the Receiving RMP is *not* 
required to publish any fault unless AckRequested was enabled for the 
received Reliable Message.  The only current RFC 2119 terminology in these 
tables is a single MUST NOT which is fully described in that clause.  I 
would recommend toning down this requirement and phrasing it as an addition 
to the existing list: "3. The Deliver operation fails."

> - A requirement of composability, is that we need to be accommodating of 
> 3rd party faults:
> in Section 4.5 (rules for processing faults): The response message (in 
> case of Response reply pattern) may also contain a SOAP Fault generated 
> by the next processor in case the next processor faults it.

This seems to go against our overall Messaging Model as introduced in 
Section 2.1.  How can a "next processor" exist if the Receiving RMP is the 
SOAP ultimate destination?

On the other hand, the RMP implementation may include other components 
operating in parallel with the infrastructure described in the 
WS-Reliability specification.  We make that provision explicit in a few 
places, including the "RMP" definition itself.  Since the RMP also includes 
generic SOAP processing capabilities, SOAP Faults are easily returned with 
or without RM Faults.  For example, the Sending RMP may include something 
in the Reliable Message that causes a SOAP Fault (such as a mustUnderstand 
fault) -- preventing any WS-Reliability-specific handling of that message. 
  Since SOAP Faults are fatal and prevent other processing of a received 
message, I believe the combined SOAP Fault / RM Fault cases are limited to 
the list already described in Section 4.5.

If you believe it necessary to warn implementors again that the SOAP 
processing model remains in effect, I guess some words about "bare SOAP 
Faults might arrive back at the Sending RMP in situations not described in 
this specification" could be added to Section 4.5.  I probably would not 

> If we accept the proposal that "Deliver operation failure" is one more 
> case of MessageProcessingFailure, we must also consider the following:
> depending on implementations, the Deliver operation itself may involve 
> some external SOAP processing in order to complete successfully.
> A specific SOAP Fault may be generated when Deliver fails on Receiving 
> side (cannot complete). Then we need to relax the requirement that a 
> "SOAP Server fault SHALL be returned". It could be another fault 
> generated by the next processor (e.g. MustUnderstand).
> Proposal: Edit in 4.5 "rules for processing faults" as follows:
> Replace:
>       "If the specific RM Fault encountered was due to a problem with
>       processing by the Receiving RMP, a SOAP server fault SHALL be
>       returned."
>       with:
>       "If the specific RM Fault encountered was due to a problem with
>       processing by the Receiving RMP, before the Deliver operation
>       was invoked onthis message, a SOAP server fault SHALL be returned."

I would prefer we rely on our normative references to the two SOAP 
specifications for this type of constraint.  It should not be necessary to 
repeat rules from those specifications.

>       Jacques

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]