将有效的bna文件导入Composer Playground 0.9失败

时间:2017-06-30 21:50:24

标签: hyperledger-composer

我有一个业务网络,我已经使用了几个星期,并且bna文件已成功部署到多个版本的超级分层结构。突然它不会导入到composer-playground 0.9中,并尝试运行

composer archive create

抛出此错误:

IllegalModelException: Class ApproveMedication is not declared as abstract. It must define an identifying field. File '/Users/dwakeman/git/pharma-network/models/com.ibm.pharma.cto': line 92 column 1, to line 102 column 2.

交易在我的模型中定义如下:

transaction ApproveMedication {
o String productNdc     
o String proprietaryName
o String nonProprietaryName
o String labelerName    
o String dosageForm     
o String route
o String strength       
o String productTypeName    
o String deaClassification  
}

我正在运行最新版本的composer-cli:

composer-cli                   v0.9.0
composer-admin                 v0.9.0
composer-client                v0.9.0
composer-common                v0.9.0
composer-runtime-hlf           v0.9.0
composer-runtime-hlfv1         v0.9.0

我知道作曲家0.9在这方面引入了一些变化,如release notes所示:

我已根据建议删除了字段,但仍然失败。有人知道发生了什么吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

好的,我弄清楚我做错了什么。我最近按照Composer文档中的Developer Tutorial重构了我的业务网络。

当你这样做然后运行

npm install

构建应用程序以生成bna文件,它在项目文件夹中创建一个名为node_modules的目录,其中包含特定于业务网络的代码。我忘记删除该代码,这是导致我的问题的原因。

要解决此问题,我删除了node_modules目录并运行

npm install

一次。一旦我这样做,我就能将生成的bna文件导入Composer Playground