You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Luciano Resende (JIRA)" <de...@tuscany.apache.org> on 2010/02/11 07:34:27 UTC

[jira] Commented: (TUSCANY-3459) JSON-RPC (and other) binding fails if Interface is marked as remotable only in the composite

    [ 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.