首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >独立的Braid服务器-错误:无法分析或解析类型=>无法注册流

独立的Braid服务器-错误:无法分析或解析类型=>无法注册流
EN

Stack Overflow用户
提问于 2020-02-21 16:42:05
回答 1查看 72关注 0票数 0

我正在尝试将独立的Braid服务器连接到由deployNodes gradle任务(Corda4.3,Braid4.1.2)启动的本地节点。我们的Cordapp以Corda账户为特色。

现在,在启动braid-server (在IntelliJ中,使用命令行参数localhost:10006 usernm passwd 10200 3 ".../PartyA/cordapps")时,braid成功地提取了一些流的API,而对于其他流,我得到了类似下面这样的错误:

代码语言:javascript
复制
08:34:24.204 [braid-startup-threadpool-0] ERROR io.bluebank.braid.core.synth.SyntheticModelConverter - failed to parse or resolve type: class generated.com.r3.corda.lib.accounts.workflows.flows.RequestKeyForAccountPayload
08:34:24.205 [braid-startup-threadpool-0] WARN  io.bluebank.braid.corda.server.BraidCordaStandaloneServer - unable to register flow:com.r3.corda.lib.accounts.workflows.flows.RequestKeyForAccount
java.lang.RuntimeException: Unable to convert actual type: class generated.com.r3.corda.lib.accounts.workflows.flows.RequestKeyForAccountPayload
    at io.bluebank.braid.corda.rest.docs.v3.ModelContextV3.addType(ModelContextV3.kt:72) ~[classes/:?]
    at io.bluebank.braid.corda.rest.docs.v3.EndPointV3.resolveTypes$braid_corda(EndPointV3.kt:113) ~[classes/:?]
    at io.bluebank.braid.corda.rest.docs.v3.EndPointV3$Companion.create(EndPointV3.kt:71) ~[classes/:?]
    at io.bluebank.braid.corda.rest.docs.v3.DocsHandlerV3.add(DocsHandlerV3.kt:145) ~[classes/:?]
    at io.bluebank.braid.corda.rest.RestMounter.bind(RestMounter.kt:280) ~[classes/:?]
    at io.bluebank.braid.corda.rest.RestMounter.postFuture(RestMounter.kt:247) ~[classes/:?]
    at io.bluebank.braid.corda.server.BraidCordaStandaloneServer.addFlow(BraidCordaStandaloneServer.kt:271) ~[classes/:?]
    at io.bluebank.braid.corda.server.BraidCordaStandaloneServer.access$addFlow(BraidCordaStandaloneServer.kt:46) ~[classes/:?]
    at io.bluebank.braid.corda.server.BraidCordaStandaloneServer$createRestConfig$1$2$3.invoke(BraidCordaStandaloneServer.kt:254) ~[classes/:?]
    at io.bluebank.braid.corda.server.BraidCordaStandaloneServer$createRestConfig$1$2$3.invoke(BraidCordaStandaloneServer.kt:46) ~[classes/:?]
    at io.bluebank.braid.corda.rest.RestMounter.group(RestMounter.kt:165) ~[classes/:?]
    at io.bluebank.braid.corda.server.BraidCordaStandaloneServer$createRestConfig$1$2.invoke(BraidCordaStandaloneServer.kt:248) ~[classes/:?]
    at io.bluebank.braid.corda.server.BraidCordaStandaloneServer$createRestConfig$1$2.invoke(BraidCordaStandaloneServer.kt:46) ~[classes/:?]
    at io.bluebank.braid.corda.rest.RestMounter.protected(RestMounter.kt:197) ~[classes/:?]
    at io.bluebank.braid.corda.server.BraidCordaStandaloneServer$createRestConfig$1.invoke(BraidCordaStandaloneServer.kt:238) ~[classes/:?]
    at io.bluebank.braid.corda.server.BraidCordaStandaloneServer$createRestConfig$1.invoke(BraidCordaStandaloneServer.kt:46) ~[classes/:?]
    at io.bluebank.braid.corda.rest.RestConfig$withPaths$1.invoke(RestConfig.kt:67) ~[classes/:?]
    at io.bluebank.braid.corda.rest.RestConfig$withPaths$1.invoke(RestConfig.kt:23) ~[classes/:?]
    at io.bluebank.braid.corda.rest.RestMounter.mount(RestMounter.kt:99) ~[classes/:?]
    at io.bluebank.braid.corda.rest.RestMounter.<init>(RestMounter.kt:91) ~[classes/:?]
    at io.bluebank.braid.corda.rest.RestMounter$Companion.mount(RestMounter.kt:50) ~[classes/:?]
    at io.bluebank.braid.corda.BraidVerticle.setupRouter(BraidVerticle.kt:120) ~[classes/:?]
    at io.bluebank.braid.corda.BraidVerticle.access$setupRouter(BraidVerticle.kt:35) ~[classes/:?]
    at io.bluebank.braid.corda.BraidVerticle$start$2.handle(BraidVerticle.kt:70) ~[classes/:?]
    at io.bluebank.braid.corda.BraidVerticle$start$2.handle(BraidVerticle.kt:35) ~[classes/:?]
    at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$2(ContextImpl.java:272) ~[vertx-core-3.7.1.jar:3.7.1]
    at io.vertx.core.impl.TaskQueue.run(TaskQueue.java:76) ~[vertx-core-3.7.1.jar:3.7.1]
    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 io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.24.Final.jar:4.1.24.Final]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]
Caused by: java.lang.NoClassDefFoundError: Lcom/r3/corda/lib/accounts/contracts/states/AccountInfo;
    at java.lang.Class.getDeclaredFields0(Native Method) ~[?:1.8.0_171]
    at java.lang.Class.privateGetDeclaredFields(Class.java:2583) ~[?:1.8.0_171]
    at java.lang.Class.getDeclaredFields(Class.java:1916) ~[?:1.8.0_171]
    at com.fasterxml.jackson.databind.util.ClassUtil.getDeclaredFields(ClassUtil.java:1078) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.AnnotatedFieldCollector._findFields(AnnotatedFieldCollector.java:66) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.AnnotatedFieldCollector.collect(AnnotatedFieldCollector.java:41) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.AnnotatedFieldCollector.collectFields(AnnotatedFieldCollector.java:36) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.AnnotatedClass._fields(AnnotatedClass.java:349) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.AnnotatedClass.fields(AnnotatedClass.java:321) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._addFields(POJOPropertiesCollector.java:379) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.collectAll(POJOPropertiesCollector.java:308) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getPropertyMap(POJOPropertiesCollector.java:287) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getProperties(POJOPropertiesCollector.java:170) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.BasicBeanDescription._properties(BasicBeanDescription.java:164) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.BasicBeanDescription.findProperties(BasicBeanDescription.java:239) ~[jackson-databind-2.9.7.jar:2.9.7]
    at io.bluebank.braid.core.synth.SyntheticModelConverter.resolveSchema(SyntheticModelConverter.kt:189) ~[classes/:?]
    at io.bluebank.braid.core.synth.SyntheticModelConverter.getOrCreateModel(SyntheticModelConverter.kt:157) ~[classes/:?]
    at io.bluebank.braid.core.synth.SyntheticModelConverter.resolve(SyntheticModelConverter.kt:104) ~[classes/:?]
    at io.swagger.v3.core.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:90) ~[swagger-core-2.0.9.jar:2.0.9]
    at io.swagger.v3.core.converter.ModelConverters.resolveAsResolvedSchema(ModelConverters.java:112) ~[swagger-core-2.0.9.jar:2.0.9]
    at io.bluebank.braid.corda.rest.docs.v3.ModelContextV3.createSwaggerModels(ModelContextV3.kt:116) ~[classes/:?]
    at io.bluebank.braid.corda.rest.docs.v3.ModelContextV3.addType(ModelContextV3.kt:62) ~[classes/:?]
    ... 30 more
Caused by: java.lang.ClassNotFoundException: com.r3.corda.lib.accounts.contracts.states.AccountInfo
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[?:1.8.0_171]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_171]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[?:1.8.0_171]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_171]
    at java.lang.Class.getDeclaredFields0(Native Method) ~[?:1.8.0_171]
    at java.lang.Class.privateGetDeclaredFields(Class.java:2583) ~[?:1.8.0_171]
    at java.lang.Class.getDeclaredFields(Class.java:1916) ~[?:1.8.0_171]
    at com.fasterxml.jackson.databind.util.ClassUtil.getDeclaredFields(ClassUtil.java:1078) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.AnnotatedFieldCollector._findFields(AnnotatedFieldCollector.java:66) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.AnnotatedFieldCollector.collect(AnnotatedFieldCollector.java:41) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.AnnotatedFieldCollector.collectFields(AnnotatedFieldCollector.java:36) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.AnnotatedClass._fields(AnnotatedClass.java:349) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.AnnotatedClass.fields(AnnotatedClass.java:321) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._addFields(POJOPropertiesCollector.java:379) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.collectAll(POJOPropertiesCollector.java:308) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getPropertyMap(POJOPropertiesCollector.java:287) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getProperties(POJOPropertiesCollector.java:170) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.BasicBeanDescription._properties(BasicBeanDescription.java:164) ~[jackson-databind-2.9.7.jar:2.9.7]
    at com.fasterxml.jackson.databind.introspect.BasicBeanDescription.findProperties(BasicBeanDescription.java:239) ~[jackson-databind-2.9.7.jar:2.9.7]
    at io.bluebank.braid.core.synth.SyntheticModelConverter.resolveSchema(SyntheticModelConverter.kt:189) ~[classes/:?]
    at io.bluebank.braid.core.synth.SyntheticModelConverter.getOrCreateModel(SyntheticModelConverter.kt:157) ~[classes/:?]
    at io.bluebank.braid.core.synth.SyntheticModelConverter.resolve(SyntheticModelConverter.kt:104) ~[classes/:?]
    at io.swagger.v3.core.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:90) ~[swagger-core-2.0.9.jar:2.0.9]
    at io.swagger.v3.core.converter.ModelConverters.resolveAsResolvedSchema(ModelConverters.java:112) ~[swagger-core-2.0.9.jar:2.0.9]
    at io.bluebank.braid.corda.rest.docs.v3.ModelContextV3.createSwaggerModels(ModelContextV3.kt:116) ~[classes/:?]
    at io.bluebank.braid.corda.rest.docs.v3.ModelContextV3.addType(ModelContextV3.kt:62) ~[classes/:?]
    ... 30 more

...and其他类似的:

代码语言:javascript
复制
08:34:24.216 [braid-startup-threadpool-0] ERROR io.bluebank.braid.core.synth.SyntheticModelConverter - failed to parse or resolve type: class generated.com.r3.corda.lib.accounts.workflows.flows.ShareAccountInfoPayload
08:34:24.216 [braid-startup-threadpool-0] WARN  io.bluebank.braid.corda.server.BraidCordaStandaloneServer - unable to register flow:com.r3.corda.lib.accounts.workflows.flows.ShareAccountInfo
java.lang.RuntimeException: Unable to convert actual type: class generated.com.r3.corda.lib.accounts.workflows.flows.ShareAccountInfoPayload
[...]
Caused by: java.lang.TypeNotPresentException: Type com.r3.corda.lib.accounts.contracts.states.AccountInfo not present
[...]
Caused by: java.lang.ClassNotFoundException: com.r3.corda.lib.accounts.contracts.states.AccountInfo
[...]

08:34:24.233 [braid-startup-threadpool-0] ERROR io.bluebank.braid.core.synth.SyntheticModelConverter - failed to parse or resolve type: class generated.com.r3.corda.lib.accounts.workflows.flows.ShareStateWithAccountPayload
08:34:24.233 [braid-startup-threadpool-0] WARN  io.bluebank.braid.corda.server.BraidCordaStandaloneServer - unable to register flow:com.r3.corda.lib.accounts.workflows.flows.ShareStateWithAccount
java.lang.RuntimeException: Unable to convert actual type: class generated.com.r3.corda.lib.accounts.workflows.flows.ShareStateWithAccountPayload
[...]
Caused by: java.lang.NoClassDefFoundError: Lcom/r3/corda/lib/accounts/contracts/states/AccountInfo;
[...]
Caused by: java.lang.ClassNotFoundException: com.r3.corda.lib.accounts.contracts.states.AccountInfo
[...]

08:34:24.433 [braid-startup-threadpool-0] ERROR io.bluebank.braid.core.synth.SyntheticModelConverter - failed to parse or resolve type: class generated.com.mycompany.tokens.flows.IssueTokenPayload
08:34:24.433 [braid-startup-threadpool-0] WARN  io.bluebank.braid.corda.server.BraidCordaStandaloneServer - unable to register flow:com.mycompany.tokens.flows.IssueToken
java.lang.RuntimeException: Unable to convert actual type: class generated.com.mycompany.tokens.flows.IssueTokenPayload
[...]
Caused by: java.lang.TypeNotPresentException: Type com.mycompany.data.MyCordappData not present
[...]
Caused by: java.lang.ClassNotFoundException: com.mycordapp.data.MyCordappData
[...]

...while许多其他的流都是API的,没有问题。

现在看来,唯一有问题的流是那些在构造函数中具有Accounts相关类或cordapp类的流。

不知道该怎么试。不敢相信你必须将流构造函数签名限制在标准的Java或Corda核心类中。缺少注释/类加载破坏...?

EN

回答 1

Stack Overflow用户

发布于 2020-03-03 00:06:32

项目编织是一个由Lab577的开源项目。https://gitlab.com/bluebank/braid

该问题将报告给Lab577。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60334927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档