实例<参与者>类<资产>中的模型违规具有值<资产>预期为关系

时间:2019-07-12 10:11:09

标签: hyperledger-composer

错误始终是:

  

实例<participant><Asset>中的模型违规具有值<Asset>预期为关系

即使我尝试将新资源声明为一种关系,错误也会变为

  

期望资源或概念。

这是一个无休止的循环,有人可以帮助我吗?

使用newRelationship()代替newResource()

很长一段时间以来,我都遇到了类似的错误。我的模型文件说

asset MemberRoles identified by roleId {
  o String roleId
  o String rolename optional
  o String roleDescription
  o Role role optional
  --> Member[] member optional
}

/**
 * THe participant model for a Member
 */
participant Member identified by MemberId {
  o String MemberId
 // o String[] MemberName

  --> MemberRoles[] memberroles optional
}


transaction updateRole
{
  o String MemberId
  o String roleId
  o Boolean active
  --> MemberRoles memberRoles optional
  --> Member[] mem optional

}

我的 logic.js 文件说

async function updateRole(upRole){
  var factory = getFactory();
  var NS = 'org.roletransfer';
  var memberRolesData = await getAssetRegistry('org.roletransfer.MemberRoles');
  var memberData= await getParticipantRegistry('org.roletransfer.Member');
  var memberRes = factory.newResource(NS, 'Member',upRole.MemberId);  
  memberRes.MemberId = upRole.MemberId;
    var array = [];
    array.push("org.roletransfer.MemberRoles#"+upRole.roleId);
  memberRes.memberroles = array;
  return getParticipantRegistry('org.roletransfer.Member').then(function(memberData){
    return memberData.add(memberRes);})
}

最后,应将角色ID添加到成员并创建一个新成员,但出现此错误

0 个答案:

没有答案