Logged as: http://www.osoa.org/jira/browse/BINDINGS-157
-Eric.
On 4/11/11 8:14 AM, Simon Holdsworth wrote:
OFF61B25D7.790E1EFA-ON8025786F.00526549-8025786F.00539F97@uk.ibm.com"
type="cite">Target:
sca-jmsbinding-1.1-csd05.pdf
Description:
The JMS binding specification
includes
statement BJM60009 with a SHOULD keyword:
For an SCA service with a JMS binding,
when
a response message is sent as part of a request/response MEP
where the
request message included a null JMSReplyTo
destination and
the JMS binding does not include a response/destination
then
an error SHOULD be raised by the SCA runtime [BJM60009]
We need to clarify whether this
is an
optional part of the JMS binding spec.
Proposal:
For this statement, the reason
that
an error SHOULD be raised is that the reply is undeliverable, as
there
is no identified reply destination for the reply message to be
placed on.
An SCA runtime implementation might provide some alternative
means for
identifying the reply destination, perhaps dynamically at
runtime, or use
some fixed destination for such undeliverable replies but I
would question
the value of doing that in this situation. I don't see why an
SCA
runtime would silently ignore this error and throw away the
response, so
this ought to be strengthened. The remaining question to my
mind
is whether this error ought to be handled at the point the
request is received
rather than the point at which the response is sent. Should the
SCA
runtime actually prevent the request from being dispatched if it
knows
at that point that the reply will not be delivered? One option
would
be to strengthen this statement as follows:
For an SCA service with a JMS binding,
when
a request message is received as part of a request/response MEP
where the
request message includes a null JMSReplyTo
destination and
the JMS binding does not include a response/destination
then
the SCA runtime MUST stop processing the request and raise an
error [BJM60009]
This would result in a possibly
testable
assertion - perhaps being able to test that the target component
is not
called in this case, whereas the alternative approach of simply
changing
the SHOULD to MUST in the original statement would still be
untestable.
---------------------------------
Simon Holdsworth
Unless stated otherwise
above:
IBM United Kingdom Limited - Registered in England and Wales
with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth,
Hampshire PO6
3AU
|