2017-08-03 5 views
0

J'ai rencontré un problème basé sur M13. Aidez-moi s'il vous plaît à le réparer. avez-vous un moyen commun d'ajouter toute la classe dans la liste blanche?

i utilisé customCriteria comme ci-dessous:

val customCriteria1 = QueryCriteria.VaultCustomQueryCriteria(builder{ LegalContractSchemaV1.PersistentLegalContractState::contractTitle.equal(test.legalEntity)}) 

c'est mon whitelist.

class AppPlugin: CordaPluginRegistry() { 

    override fun customizeSerialization(custom: SerializationCustomization): Boolean { 
     custom.apply { 
      // OpenGamma classes. 
      addToWhitelist(LegalContractSchemaV1.PersistentLegalContractState::class.java) 
      addToWhitelist(QueryCriteria.VaultCustomQueryCriteria::class.java) 
      // addToWhitelist(net.corda.core.node.services.vault. 

     } 
     return true 
    } 

    override val requiredSchemas: Set<MappedSchema> get() = setOf(com.legalcontract.schema.LegalContractSchemaV1) 
} 

journaux comme ci-dessous:
Exception dans le thread "principal" com.esotericsoftware.kryo.KryoException: classe com.legalcontract.client.LegalContractClientRPC $ getLegalSearchEntities $ customCriteria1 1 $ 1 $ ne sont pas annotées ou sur la liste blanche, donc ne peut pas être utilisé dans la sérialisation Sérialisation trace: propriété (net.corda.core.node.services.vault.Column $ Kotlin) colonne (net.corda.core.node.services.vault.CriteriaExpression $ ColumnPredicateExpression) expression (net.corda.core.node.services.vault.QueryCriteria $ VaultCustomQueryCriteria) b (net.corda.core.node.services.vault.QueryCriteria $ AndComposition) à net.corda.core.serialization.CordaClassResolver.checkClass (CordaClassResolver.kt: 65) à net.corda.core.serialization.CordaClassResolver.getRegistration (CordaClassResolver.kt: 35) à com.esotericsoftware.kryo. Kryo.getRegistration (Kryo.java:488) à net.corda.nodeapi.RPCKryo.getRegistration (RPCStructures.kt: 74) à com.esotericsoftware.kryo.util.DefaultClassResolver.writeClass (DefaultClassResolver.java:97) à com.esotericsoftware.kryo.Kryo.writeClass (Kryo.java:540) à com.esotericsoftware.kryo.serializers.ObjectField.write (ObjectField.java:76) à com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer.write (CompatibleFieldSerializer.java:66) à com.esotericsoftware.kryo.Kr yo.writeObject (Kryo.java:575) à com.esotericsoftware.kryo.serializers.ObjectField.write (ObjectField.java:80) à com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer.write (CompatibleFieldSerializer.java:66) à com.esotericsoftware.kryo.Kryo.writeObject (Kryo.java:575) à com.esotericsoftware.kryo.serializers.ObjectField.write (ObjectField.java:80) à com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer. écrire (CompatibleFieldSerializer.java:66) à com.esotericsoftware.kryo.Kryo.writeObject (Kryo.java:575) à com.esotericsoftware.kryo.serializers.ObjectField.write (ObjectField.java:80) à com. esotericsoftware.kryo.serializers.CompatibleFieldSerializer.write (CompatibleFieldSerializer.java:66) à com.esotericsoftware.kryo.Kryo.writeClassAndObject (Kryo.java:651) à com.esotericsoftware.kryo.serializers.CollectionSerializer.write (CollectionSerializer.java:100) à com.esotericsoftware.kryo.serializers.CollectionSerializer. écrire (CollectionSerializer.java:40) à com.esotericsoftware.kryo.Kryo.writeClassAndObject (Kryo.java:651) à net.corda.core.serialization.KryoKt.serialize (Kryo.kt: 169) à net. corda.core.serialization.KryoKt $ sérialiser $ 1.execute (Kryo.kt: 151) à net.corda.core.serialization.KryoKt $ sérialiser $ 1.execute (Kryo.kt) à com.esotericsoftware.kryo.pool. KryoPoolQueueImpl.run (KryoPoolQueueImpl.java:61) à net.corda.core.serialization.KryoKt.serialize (Kryo.kt: 151) à net.c orda.core.serialization.KryoKt.serialize $ default (Kryo.kt: 150) à net.corda.nodeapi.RPCApi $ ClientToServer $ RpcRequest.writeToClientMessage (RPCApi.kt: 103) à net.corda.client.rpc. internal.RPCClientProxyHandler.invoke (RPCClientProxyHandler.kt: 197) à com.sun.proxy Proxy21.vaultQueryByCriteria $ (Source inconnue) à com.legalcontract.client.LegalContractClientRPC.getLegalSearchEntities (LegalContractClientRPC.kt 106) à com.legalcontract.client.LegalContractClientRPC.main (. LegalContractClientRPC.kt: 68) à com.legalcontract.client.LegalContractClientRPCKt.main (LegalContractClientRPC.kt: 39)

Répondre

0

Malheureusement, ceci est un problème connu avec M13, dans lequel la liste blanche n'a pas été chargé correctement pour RPC. M14, qui doit être publié aujourd'hui, traitera de ce problème.