2017-08-03 5 views
0

M13に基づいて問題が発生しました。それを解決するのを助けてください。すべてのクラスをホワイトリストに追加する一般的な方法はありますか?

私は以下のようにcustomCriteriaを使用:

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

を、これは私のホワイトリストです。以下のように

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) 
} 

ログ:
例外スレッド "メイン" com.esotericsoftware.kryo.KryoException中:クラスcom.legalcontract.client.LegalContractClientRPC $ getLegalSearchEntities $ customCriteria1 $ 1 $ 1注釈を付けたり、ホワイトリストにされていないので、シリアライズ シリアル化トレースで使用することはできません。 プロパティ(net.corda.core.node.services.vault.Column $ Kotlin) 列(net.corda.core.node.services.vault.CriteriaExpression $ ColumnPredicateExpression) 式(クエリークリティア$ VaultCustomQueryCriteria) b(net.corda.core.node.services.vault.QueryCriteria $ net.corda.core.serialization.CordaClassResolver.getRegistrationで65) (CordaClassResolver.kt:net.corda.core.serialization.CordaClassResolver.checkClass(CordaClassResolver.ktでAndComposition) 35)com.esotericsoftware.kryoで 。 net.corda.nodeapi.RPCKryo.getRegistrationでKryo.getRegistration(Kryo.java:488) (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) at com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer.write CompatibleFieldSerializer.java:66) at com.esotericsoftware.kryo.Kr yoy.writeObject(Kryo.java:575) at com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:80) at com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer.write(CompatibleFieldSerializer.java:66) at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:575) at com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:80) at com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer。 write(CompatibleFieldSerializer.java:66) at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:575) at com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:80) at com。 esotericsoftware.kryo.serializers.CompatibleFieldSerializer.write(CompatibleFieldSerializer.java:66)com.esotericsoftware.kryo.Kryo.writeClassAndObjectにおけるcom.esotericsoftware.kryo.serializers.CollectionSerializer.writeで(Kryo.java:651) (CollectionSerializer.java:100) com.esotericsoftware.kryo.serializers.CollectionSerializerました。 (CollectionSerializer.java:40) com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:651) at net.corda.core.serialization.KryoKt.serialize(Kryo.kt:169) at net。 $ .execute(Kryo.kt:151) をnet.corda.core.serialization.KryoKt $ serialize $ 1.execute(Kryo.kt) でcom.esotericsoftware.kryo.poolにコード化してください。 KryoPoolQueueImpl.run(KryoPoolQueueImpl.java:61) at net.corda.core.serialization.KryoKt.serialize(Kryo.kt:151) at net.c net.corda.nodeapi.RPCApi $ ClientToServer $ RpcRequest.writeToClientMessage(RPCApi.kt:103) at $ default(Kryo.kt:150)net.corda.client.rpcの で整理します。 internal.RPCClientProxyHandler.invoke(RPCClientProxyHandler。カラット:197) com.sun.proxy $ Proxy21.vaultQueryByCriteriaで(不明なソース) com.legalcontract.client.LegalContractClientRPC.getLegalSearchEntitiesで(LegalContractClientRPC.kt:106) com.legalcontract.client.LegalContractClientRPC.mainで( LegalContractClientRPC.kt:68) com.legalcontract.client.LegalContractClientRPCKt.mainで(LegalContractClientRPC.kt:39)

答えて

0

は残念ながら、これはホワイトリストをRPC用に正しくロードされていないことにより、M13、との既知のバグです。今日リリースされる予定のM14は、この問題に取り組む予定です。

関連する問題