Uploaded image for project: 'Tuscany'
  1. Tuscany
  2. TUSCANY-3459

JSON-RPC (and other) binding fails if Interface is marked as remotable only in the composite

    XMLWordPrintableJSON

Details

    Description

      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

      Attachments

        1. 3459.patch
          18 kB
          Simon Laws

        Activity

          People

            lresende Luciano Resende
            lresende Luciano Resende
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: