sca-bindings message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: Re: ISSUE 18 - Clarify the rules on which queues and topics are used forresponses and callbacks
- From: Simon Holdsworth <simon_holdsworth@uk.ibm.com>
- To: sca-bindings@lists.oasis-open.org
- Date: Wed, 16 Jan 2008 14:37:18 +0000
Folks,
Proposed resolution to issue 18:
Replace section 7 "Callback and
Conversation Protocol" with:
----------------------------------------------------------------
7 Message Exchange Patterns
This section describes the message exchange
patterns that are possible when using the JMS binding, including one-way,
request/response, callbacks and conversations.
7.1 One-way message exchange
A one-way message exchange is one where
a request message is sent that does not require or expect a corresponding
response message. These are represented in WSDL as an operation with an
input element and no output or fault elements.
When a request message is received by
a service with a JMS binding for a one-way MEP, the service MUST not send
a response message, whether or not there is a JMSReplyTo destination set
in the request message.
When a request message is sent by a
reference with a JMS binding for a one-way MEP, then the JMSReplyTo destination
SHOULD NOT be set in the message unless the corresponding interface is
bidirectional and callbacks are expected from the target JMS application
using the JMSReplyTo destination (see below).
7.2 Request/response message exchange
A request/response message exchange
is one where a request message is sent and a response message is expected,
possibly identified by its correlation identifier. These are represented
in WSDL as an operation with an input element and an output and/or fault
element.
When a request message is received by
a service with a JMS binding for a request/response MEP, then the response
MUST be sent to the message's JMSReplyTo destination if not null. If the
JMSReplyTo destination is null then the response MUST be sent to the destination
identified by the JMS binding's response element. If there is no
destination defined by either means then an error SHOULD be recorded by
the SCA runtime. The response message MUST have its correlation identifier
set as defined by the correlationScheme attribute.
When a request message is sent by a
service with a JMS binding for a request/response MEP, then the destination
for the response message MAY be defined by the response element of the
JMS binding. If no such destination is defined then the SCA runtime
MUST provide an appropriate destination. The JMSReplyTo destination
in the message MUST be set to that destination. The response message
MAY be received on the basis of its correlation identifier as defined by
the correlationScheme attribute.
7.3 JMS User Properties [as per
existing section 7.1]
7.4 Callbacks
A callback is the invocation of an operation
on a service's callback interface. A callback operation may be one-way
or request/response.
When interacting with non-SCA JMS applications,
a request/response message exchange MAY be modelled as a one-way operation
on a bidirectional interface with a one-way operation in the callback interface.
In that case it is likely that the non-SCA JMS application does not
support the scaCallbackQueue, and so the SCA runtime MAY use JMSReplyTo
to identify the destination to be used to deliver callback messages for
one-way exchanges and omit the scaCallbackQueue user property. For
request/response exchanges, the JMSReplyTo destination is used to deliver
the response message, so cannot be used for callbacks.
When an SCA component with a reference
with a bidirectional interface and JMS binding ("the sender")
invokes an operation on that interface, the destination for callback messages
MAY be defined by the request destination of a JMS binding on the reference's
callback service. If no such destination is defined then the SCA
runtime MUST provide an appropriate destination. the JMS message
that is sent SHOULD identify the destination for callbacks using the scaCallbackQueue
user property. For one-way operations, the JMS message that is sent
MAY identify the destination for callbacks using the JMSReplyTo, and MAY
omit the scaCallbackQueue user property in that case.
The invoked SCA component ("the
receiver") may invoke operations on the callback interface at any
time after receiving a message with the scaCallbackQueue set, or a one-way
message with the JMSReplyTo destination set to a non-null value, or at
any time if the service's callback reference has a JMS binding with a request
destination element.
7.5 Conversations [as per existing section
7.3]
----------------------------------------------------------------
Regards, Simon
Simon Holdsworth
STSM, SCA Bindings Architect; Master Inventor; OASIS SCA Bindings TC Chair
MP 211, IBM UK Labs, Hursley Park, Winchester SO21 2JN, UK
Tel +44-1962-815059 (Internal 245059) Fax +44-1962-816898
Internet - Simon_Holdsworth@uk.ibm.com
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
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]