I have a network with two nodes:
NodeA
running Corda Enterprise 3NodeB
running Corda (open-source) 3
When NodeA
uses the Corda Finance CorDapp to transfer cash to NodeB
, I get exceptions of the form Serialization scheme not supported.
.
If the Finance CorDapp was compiled against Corda Enterprise 3.2, I get the following stack trace:
java.lang.UnsupportedOperationException: Serialization scheme ([636F7264610000], RPCClient) not supported. at net.corda.serialization.internal.SerializationFactoryImpl$schemeFor$1.apply(SerializationScheme.kt:128) at net.corda.serialization.internal.SerializationFactoryImpl$schemeFor$1.apply(SerializationScheme.kt:103) at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660) at net.corda.serialization.internal.SerializationFactoryImpl.schemeFor(SerializationScheme.kt:124) at net.corda.serialization.internal.SerializationFactoryImpl.access$schemeFor(SerializationScheme.kt:103) at net.corda.serialization.internal.SerializationFactoryImpl$deserialize$1$1.invoke(SerializationScheme.kt:134) at net.corda.core.serialization.SerializationFactory.withCurrentContext(SerializationAPI.kt:71) at net.corda.serialization.internal.SerializationFactoryImpl$deserialize$1.invoke(SerializationScheme.kt:134) at net.corda.serialization.internal.SerializationFactoryImpl$deserialize$1.invoke(SerializationScheme.kt:103) at net.corda.core.serialization.SerializationFactory.asCurrent(SerializationAPI.kt:85) at net.corda.serialization.internal.SerializationFactoryImpl.deserialize(SerializationScheme.kt:134) at net.corda.nodeapi.RPCApi$ServerToClient$Companion.fromClientMessage(RPCApi.kt:373) at net.corda.client.rpc.internal.RPCClientProxyHandler.artemisMessageHandler(RPCClientProxyHandler.kt:301) at net.corda.client.rpc.internal.RPCClientProxyHandler.access$artemisMessageHandler(RPCClientProxyHandler.kt:75) at net.corda.client.rpc.internal.RPCClientProxyHandler$initSessions$1.invoke(RPCClientProxyHandler.kt:509) at net.corda.client.rpc.internal.RPCClientProxyHandler$initSessions$1.invoke(RPCClientProxyHandler.kt:75) at net.corda.client.rpc.internal.RPCClientProxyHandlerKt$sam$org_apache_activemq_artemis_api_core_client_MessageHandler$0.onMessage(RPCClientProxyHandler.kt) at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:1002) at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.access$400(ClientConsumerImpl.java:50) at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:1125) at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) at ✽.And node PartyB vault contains total cash of 100 GBP(compatibility/resources/features/interoperability.feature:15)
And if the Finance CorDapp was compiled against Corda (open-source) 3.3, I get the following stack trace:
[WARN ] 2018-10-02T11:06:54,096Z [Thread-1 (ActiveMQ-client-global-threads)] messaging.RPCServer.clientArtemisMessageHandler - Inbound RPC failed {actor_id=corda, actor_owningIdentity=O=PartyB, L=London, C=GB, actor_store_id=NODE_CONFIG, invocation_id=ae1b8b8d-682a-4181-acba-45c061188531, invocation_timestamp=2018-10-02T11:06:54.094Z, session_id=85154c4f-cdfa-4f76-b888-51d8f862c3b1, session_timestamp=2018-10-02T11:06:54.050Z} java.lang.UnsupportedOperationException: Serialization scheme not supported. at net.corda.nodeapi.internal.serialization.NotSupportedSerializationScheme.doThrow(SerializationScheme.kt:19) ~[corda-node-api-3.2-corda.jar:?] at net.corda.nodeapi.internal.serialization.NotSupportedSerializationScheme.deserialize(SerializationScheme.kt:23) ~[corda-node-api-3.2-corda.jar:?] at net.corda.nodeapi.internal.serialization.SerializationFactoryImpl$deserialize$1$1.invoke(SerializationScheme.kt:111) ~[corda-node-api-3.2-corda.jar:?] at net.corda.core.serialization.SerializationFactory.withCurrentContext(SerializationAPI.kt:66) ~[corda-core-3.2-corda.jar:?] at net.corda.nodeapi.internal.serialization.SerializationFactoryImpl$deserialize$1.invoke(SerializationScheme.kt:111) ~[corda-node-api-3.2-corda.jar:?] at net.corda.nodeapi.internal.serialization.SerializationFactoryImpl$deserialize$1.invoke(SerializationScheme.kt:86) ~[corda-node-api-3.2-corda.jar:?] at net.corda.core.serialization.SerializationFactory.asCurrent(SerializationAPI.kt:80) ~[corda-core-3.2-corda.jar:?] at net.corda.nodeapi.internal.serialization.SerializationFactoryImpl.deserialize(SerializationScheme.kt:111) ~[corda-node-api-3.2-corda.jar:?] at net.corda.node.services.messaging.RPCServer.clientArtemisMessageHandler(RPCServer.kt:571) [corda-node-3.2-corda.jar:?] at net.corda.node.services.messaging.RPCServer.access$clientArtemisMessageHandler(RPCServer.kt:79) [corda-node-3.2-corda.jar:?] at net.corda.node.services.messaging.RPCServer$createRpcConsumer$1.invoke(RPCServer.kt:196) [corda-node-3.2-corda.jar:?] at net.corda.node.services.messaging.RPCServer$createRpcConsumer$1.invoke(RPCServer.kt:79) [corda-node-3.2-corda.jar:?] at net.corda.node.services.messaging.RPCServerKt$sam$MessageHandler$5b9bfc45.onMessage(RPCServer.kt) [corda-node-3.2-corda.jar:?] at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:997) [artemis-core-client-2.2.0.jar:2.2.0] at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.access$400(ClientConsumerImpl.java:49) [artemis-core-client-2.2.0.jar:2.2.0] at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:1120) [artemis-core-client-2.2.0.jar:2.2.0] at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) [artemis-commons-2.2.0.jar:2.2.0] at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) [artemis-commons-2.2.0.jar:2.2.0] at org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) [artemis-commons-2.2.0.jar:2.2.0] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_171] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_171] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171] [WARN ] 2018-10-02T11:06:54,162Z [Thread-0 (ActiveMQ-client-global-threads)] messaging.RPCServer.bindingRemovalArtemisMessageHandler - Detected RPC client disconnect on address rpc.client.corda.4301680594427178011, scheduling for reaping {}
How can I solve this issue?