无法使用其他API在Car Auction Demo应用程序中提交多个出价,但我可以使用composer playground提交多个出价

时间:2017-07-17 11:28:08

标签: hyperledger-composer

REST响应:

{
"error": {
"statusCode": 500,
"name": "Error",
"message": "error trying invoke chaincode. Error: chaincode error (status: 500, message: Error: Invalid or missing identifier for Type Offer in namespace org.acme.vehicle.auction)",
"stack": "Error: error trying invoke chaincode. Error: chaincode error (status: 500, message: Error: Invalid or missing identifier for Type Offer in namespace org.acme.vehicle.auction)\n at _initializeChannel.then.then.then.then.catch (/root/.nvm/versions/node/v6.11.0/lib/node_modules/composer-rest-server/node_modules/composer-connector-hlfv1/lib/hlfconnection.js:806:34)"
}
}

控制台响应:

Unhandled error for request POST /api/VehicleListing: Error: Invalid or missing identifier for Type Offer in namespace org.acme.vehicle.auction
at Factory.newResource (/root/.nvm/versions/node/v6.11.0/lib/node_modules/composer-rest-server/node_modules/composer-common/lib/factory.js:77:19)
at JSONPopulator.convertItem (/root/.nvm/versions/node/v6.11.0/lib/node_modules/composer-rest-server/node_modules/composer-common/lib/serializer/jsonpopulator.js:142:50)
at JSONPopulator.visitField (/root/.nvm/versions/node/v6.11.0/lib/node_modules/composer-rest-server/node_modules/composer-common/lib/serializer/jsonpopulator.js:104:34)
at JSONPopulator.visit (/root/.nvm/versions/node/v6.11.0/lib/node_modules/composer-rest-server/node_modules/composer-common/lib/serializer/jsonpopulator.js:60:25)
at Field.accept (/root/.nvm/versions/node/v6.11.0/lib/node_modules/composer-rest-server/node_modules/composer-common/lib/introspect/property.js:48:24)
at JSONPopulator.visitClassDeclaration (/root/.nvm/versions/node/v6.11.0/lib/node_modules/composer-rest-server/node_modules/composer-common/lib/serializer/jsonpopulator.js:83:60)
at JSONPopulator.visit (/root/.nvm/versions/node/v6.11.0/lib/node_modules/composer-rest-server/node_modules/composer-common/lib/serializer/jsonpopulator.js:56:25)
at AssetDeclaration.accept (/root/.nvm/versions/node/v6.11.0/lib/node_modules/composer-rest-server/node_modules/composer-common/lib/introspect/classdeclaration.js:65:24)
at Serializer.fromJSON (/root/.nvm/versions/node/v6.11.0/lib/node_modules/composer-rest-server/node_modules/composer-common/lib/serializer.js:160:26)
at ensureConnected.then (/root/.nvm/versions/node/v6.11.0/lib/node_modules/composer-rest-server/node_modules/loopback-connector-composer/lib/businessnetworkconnector.js:558:43)
at process._tickCallback (internal/process/next_tick.js:109:7)
Unhandled error for request POST /api/Offer: Error: error trying invoke chaincode. Error: chaincode error (status: 500, message: Error: Invalid or missing identifier for Type Offer in namespace org.acme.vehicle.auction)
at _initializeChannel.then.then.then.then.catch (/root/.nvm/versions/node/v6.11.0/lib/node_modules/composer-rest-server/node_modules/composer-connector-hlfv1/lib/hlfconnection.js:806:34)

1 个答案:

答案 0 :(得分:0)

感谢您发布本地安装版本信息。奇怪的是你不能通过REST API调用提交第二次出价,这有点不对劲 - 但是请注意你的npm版本(用于在本地安装你的作曲家环境和演示设置)不受支持且不能正确构建。有关支持的版本信息,请参阅https://hyperledger.github.io/composer/unstable/installing/development-tools.html

因此我建议全局卸载Composer npm uninstall -g composer-cli composer-rest-server generator-hyperledger-composer - 然后将你的npm环境降级为支持的版本 - 如npm 3.10.5。然后按照上面的link to install进行操作。另外一个新安装将安装v0.9.2,您应该按照上面的说明下载fabric-scripts.zip来获取匹配的docker镜像(这些是Hyperledger Fabric v1.0 GA容器,与v0.9.2安装环境一起使用)。完成后,我们可以在重新安装汽车拍卖演示时查看当地环境中是否仍存在问题。并且正确 - 必须以非root用户身份安装Composer。