I've been looking at how to bring conversational semantics back to life [1] (as has Ant who has been worrying about the same problem). It seems that, in resurrecting conversational semantics, a good place to start is a bit of a reorg of itest/conversations to:
- make the test names more consistent - separate the separate tests out a bit more and represent them explicitly in the JUnit test - add stateless conversations to the test I just checked in a starting point for this [2] but have hit a snag. The very first test case I made has a client component which calls several operations on an @Conversational service component and it doesn't work. The failure occurs because the runtime uses the message context from the client message in order to obtain the conversation id to pass to the service. However my client is not itself conversational and hence messages arriving at it have no conversation id. The existing/old test marks both client and service as conversational. This is valid but should not be required according to the way that I interpret the spec. Is there anyone who can comment on why it is this way? I think we need to change it to store the conversationId somewhere else in the reference/proxy structure for a started conversation. Simon [1] http://issues.apache.org/jira/browse/TUSCANY-1377 [2] http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/
