【问题标题】:How Hyperledger Composer checks the model namespaceHyperledger Composer 如何检查模型命名空间
【发布时间】:2018-03-22 05:31:56
【问题描述】:

我想更改模型代码 (mymodel.cto) 中与 (org.acme.sample) 不同的命名空间。我正在尝试使用以下方法创建业务网络定义:

composer archive create....

我收到以下错误:

IllegalModelException: Failed to find namespace org.mymodel

我知道使用 Hyperledger Composer,您无法更改域,但这是使用我自己的本地 Hyperledger Composer 实例。如何在业务网络定义中设置自己的域?

【问题讨论】:

  • 不知道为什么 - 你能发布你的模型文件(在代码块中)吗?当您将其粘贴到在线游乐场进行测试时会发生什么(模型文件)-> composer-playground.mybluemix.net/editor 它是否有效(请参阅底部的消息)。您还可以粘贴您运行的完整composer archive create 命令吗?最后,您说您“本地”更改了域-但是您是否在代码中引用了“旧命名空间”(例如脚本文件或权限.acl文件等)

标签: hyperledger hyperledger-fabric hyperledger-composer


【解决方案1】:

我只是删除了文件 permissions.acl(具有正确的域)并且它可以工作......

【讨论】:

    【解决方案2】:

    我遇到了类似的问题,这是因为命名约定不匹配。一些教程在子命名空间中包含模型文件,即 org.myorg.myapp.model 其中 logic.js 和 queries.js 中的所有引用也引用了 org.myorg.myapp.model 中的模型,但我尝试在 permissions.acl 中使用“顶级”命名空间“org.myorg.myapp”

    当我将命名空间(和引用)更改为 org.myorg.myapp(即删除 .model)时,它匹配了 permissions.acl 中的内容并且可以正常工作。

    所以我认为正确的答案不是删除您的 acl,而是修复名称不匹配。

    【讨论】:

      猜你喜欢
      • 2012-03-12
      • 1970-01-01
      • 2012-09-10
      • 1970-01-01
      • 2012-07-14
      • 1970-01-01
      • 2011-08-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多