我有一个业务网络,我已经使用了几个星期,并且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所示:
我已根据建议删除了字段,但仍然失败。有人知道发生了什么吗?
谢谢!
答案 0 :(得分:1)
好的,我弄清楚我做错了什么。我最近按照Composer文档中的Developer Tutorial重构了我的业务网络。
当你这样做然后运行
npm install
构建应用程序以生成bna文件,它在项目文件夹中创建一个名为node_modules的目录,其中包含特定于业务网络的代码。我忘记删除该代码,这是导致我的问题的原因。
要解决此问题,我删除了node_modules目录并运行
npm install
一次。一旦我这样做,我就能将生成的bna文件导入Composer Playground。