TUSCANY-3459 describe a scenario where we have java interfaces that are NOT annotated with the @Remotable annotation, but then marked remotable in the SCDL using the new @Remotable attribute. In this scenario, I found two issues in the Tuscany runtime :
- Incompatibility of the ComponentService (marked remote in the scdl) and the ComponentType (considered local) interfaces, and I have raised an issue with the OASIS Spec with a proposal to relax the interface compatibility check. - The other issue is related to how Tuscany checks the componentType interface in order to identify if any data binding transformation is required and when this interface is not annotated, it is considered a local interface and all data binding transformations will be skipped, failing the operation invocation. To workaround this issue, I have local changes to DataBindingRuntimeWireProcessor that checks for this particular scenario and force the data binding introspection of the componentType interface and use that to properly handle databinding transformations. While these changes seems to be working, doing some of this changes in the RuntimeEndpointImpl integrated with the getComponentTypeServiceInterfaceContract seems a better place (performance wise), but some of the dependencies are not available in the tuscany-core module as of now. Thoughts ? [1] https://issues.apache.org/jira/browse/TUSCANY-3459 -- Luciano Resende http://people.apache.org/~lresende http://lresende.blogspot.com/
