[
https://issues.apache.org/jira/browse/TUSCANY-3459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12832396#action_12832396
]
Luciano Resende commented on TUSCANY-3459:
------------------------------------------
We have two issues here, one related to the 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.
Another issue is that 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 databinding
transformations will be skipped, failing the operation invocation.
> JSON-RPC (and other) binding fails if Interface is marked as remotable only
> in the composite
> ---------------------------------------------------------------------------------------------
>
> Key: TUSCANY-3459
> URL: https://issues.apache.org/jira/browse/TUSCANY-3459
> Project: Tuscany
> Issue Type: Bug
> Components: Java SCA Integration Tests
> Affects Versions: Java-SCA-2.0
> Reporter: Luciano Resende
> Assignee: Luciano Resende
> Fix For: Java-SCA-2.0
>
>
> public interface Catalog {
> Item[] get();
> }
> <component name="VegetablesCatalog">
> <implementation.java class="services.sca.FruitsCatalogImpl"/>
> <service name="Catalog">
> <interface.java interface="services.Catalog"
> remotable="true"/>
> <tuscany:binding.jsonrpc
> uri="http://localhost:8085/VegetableCatalog" />
> </service>
> </component>
> at $Proxy7.get(Unknown Source)
> at services.sca.CatalogAggregatorImpl.get(CatalogAggregatorImpl.java:40)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at
> org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:115)
> at
> org.apache.tuscany.sca.binding.sca.provider.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
> at
> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:236)
> at
> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:106)
> at $Proxy7.get(Unknown Source)
> at
> org.apache.tuscany.sca.performance.CatalogRemoteJsonRPCTest.testCatalog(CatalogRemoteJsonRPCTest.java:46)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
> at junit.extensions.TestDecorator.run(TestDecorator.java:32)
> at junit.extensions.RepeatedTest.run(RepeatedTest.java:30)
> at com.clarkware.junitperf.ThreadedTest$TestRunner.run(Unknown Source)
> at java.lang.Thread.run(Thread.java:637)
> Caused by: org.jabsorb.serializer.UnmarshallException: element 0 no
> serializer found that can unmarshall java.lang.String to services.Item
> at
> org.jabsorb.serializer.impl.ArraySerializer.unmarshall(ArraySerializer.java:216)
> at org.jabsorb.JSONSerializer.unmarshall(JSONSerializer.java:692)
> at org.jabsorb.client.Client.invoke(Client.java:226)
> at org.jabsorb.client.Client.invoke(Client.java:156)
> at
> org.apache.tuscany.sca.binding.jsonrpc.provider.JSONRPCClientInvoker.invoke(JSONRPCClientInvoker.java:60)
> at
> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:236)
> at
> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:106)
> ... 27 more
> Caused by: org.jabsorb.serializer.UnmarshallException: no serializer found
> that can unmarshall java.lang.String to services.Item
> at org.jabsorb.JSONSerializer.unmarshall(JSONSerializer.java:705)
> at
> org.jabsorb.serializer.impl.ArraySerializer.unmarshall(ArraySerializer.java:209)
> ... 33 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.