Java Reference
In-Depth Information
the inclusive range of messages it is acknowledging. In this example, the <MessageNumber>
in the request was 1, so the acknowledgment corresponds to that value.
While in this case we're just acknowledging a single message, acknowledgments can indicate
what messages from a sequence have not yet been received by the destination. For example,
the following valid acknowledgment range indicates that something is missing:
<wsrm:SequenceAcknowledgement>
<wsrm:Identifier>http://soacookbook/123</wsrm:Identifier>
<wsrm:AcknowledgementRange Upper="2" Lower="1"/>
<wsrm:AcknowledgementRange Upper="6" Lower="4"/>
<wsrm:AcknowledgementRange Upper="10" Lower="8"/>
</wsrm:SequenceAcknowledgement>
This shows that the destination has lost or not yet received messages 3 and 5 in the sequence.
That should be a signal to the source to resend those messages.
The addition of sequence acknowledgment messages creates considerable extra overhead for
the runtime. A single request becomes several requests when WS-RM is included.
Because of this, be sure you have a good reason for putting this stuff into play. Don't put it on
everything just because you can, and make sure that you load test. Note that too many of the
leading SOA stack vendors, including TIBCO and Software AG, do not yet (as of this writ-
ing) implement WS-RM. TIBCO, for example, uses its Rendezvous messaging infrastructure
to make its communication reliable; it just isn't implementing WS-RM to do it.
Search WWH ::




Custom Search