You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Shuchao Wan <wa...@gmail.com> on 2009/04/30 12:00:24 UTC
Has conformance item 80003 in sca assembly spec been implemented?
In conformance item 80003, it says that "If a remotable service is called
locally or remotely, the SCA container MUST ensure sure that no modification
of input messages by the service or post-invocation modifications to return
messages are seen by the caller. [ASM80003]"
When verifying this conformance item, I found that even the input message
has been changed, nothing happened, the expected error msg or exception does
not show up.
Here is my test case example:
---------------------------
ServiceRemote4Change.java
---------------------------
@Remotable
*
public* *interface* ServiceRemote4Change {
*public* String setAObject1(Object1 a);
}
-------------------------------
ServiceRemote4ChangeImpl.java
-------------------------------
@Service(ServiceRemote4Change.*class*)
@AllowsPassByReference
*
public* *class* serviceRemote4ChangeImpl *implements* ServiceRemote4Change {
*private* Object1 *aObject1* = *null*;
*public* String setAObject1(Object1 a) {
a.aString = "serviceRemote4Change";
aObject1 = a;
*return* "serviceRemote4Change";
}
In the method setAObject1, aObject1 a has been changed, which also affects
the Object1 value provided by the calller. However it can still be invoked
normally. Is there anything wrong with this kind of behaviour? Thanks.