Sun Yang wrote:
Hi,
Thanks for your comment and considering applying my patch. I am thinking
to do a refactoring after this discussion. So please give me a little
time before I make it better. Currently, I want to get the answers for
the following questions based on our discussion in this thread before I
start the refactoring.
1. what action we should do when client use endSequence command to end
the conversation from the line protocol level? Do we need to manually
recycle the conversation variables or just wait for its timeout?
2. how to switch between WS-Addressing/WS-RM conversation
implementation? Is a preference OK for this situation.
>
I think the right approach would be to use a policy intent/policySet
so that the selection could be configured in SCDL on a per-wire
or per-binding basis. The SCA 1.0 Web Service binding spec defines a
policySet that can be used for exactly this purpose. Here's the
definition (see section 2.2.3):
<policySet name="WSRM-Sequence-based-conversation"
provides="sca:conversation"
appliesTo="sca:binding.ws">
<wsp:Policy>
<wsrmp:RMAssertion
xmlns:wsrmp="http://docs.oasis-open.org/ws-rx/wsrmp/200608"/>
</wsp:Policy>
</policySet>
If this policySet is specified, WS-RM conversation should be used. If not,
the current WS-Addressing conversation implementation should be used.
Simon
3. how to solve the conversation state confliction between the service /
reference side (maybe it is out of the scope of this improvement)?
I will provide a new patch bundled with tests after the refactoring.
Regards,
Yang Sun