5. queryCpt

基本信息

  1. 接口名称:com.webank.weid.rpc.CptService.queryCpt
  2. 接口定义:ResponseData<Cpt> queryCpt(Integer cptId)
  3. 接口描述: 根据CPT编号查询CPT信息。

接口入参: java.lang.Integer

名称类型非空说明备注
cptIdIntegerYcptId编号

接口返回: com.webank.weid.protocol.response.ResponseData<Cpt>;

名称类型说明备注
errorCodeInteger返回结果码此接口返回的code
errorMessageString返回结果描述
resultCpt CPT内容,见下
transactionInfoTransactionInfo交易信息

com.webank.weid.protocol.response.TransactionInfo

名称类型说明备注
blockNumberBigInteger交易块高
transactionHashString交易hash
transactionIndexBigInteger交易索引

com.webank.weid.protocol.base.Cpt

名称类型说明备注
cptJsonSchemaMap<String, Object>Map类型的cptJsonSchema信息
cptBaseInfoCptBaseInfo CPT基础数据,见下
cptMetaDataCptMetaData CPT元数据内部类,见下

com.webank.weid.protocol.base.CptBaseInfo

名称类型说明备注
cptIdIntegercpId编号
cptVersionInteger版本号

com.webank.weid.protocol.base.Cpt.MetaData

名称类型说明备注
cptPublisherStringCPT发布者的WeIdentity DIDWeIdentity DID格式数据
cptSignatureString签名数据cptPublisher与cptJsonSchema拼接的签名数据
updatedlong更新时间
createdlong创建日期

此方法返回code

enumcodedesc
SUCCESS0成功
TRANSACTION_TIMEOUT160001超时
TRANSACTION_EXECUTE_ERROR160002交易错误
UNKNOW_ERROR160003未知异常
ILLEGAL_INPUT160004参数非法
CPT_NOT_EXISTS500301CPT不存在

调用示例

  1. CptService cptService = new CptServiceImpl();
  2. Integer cptId = Integer.valueOf(1017);
  3. ResponseData<Cpt> response = cptService.queryCpt(cptId);
  1. 返回数据如下:
  2. result:(com.webank.weid.protocol.base.Cpt)
  3. cptBaseInfo:(com.webank.weid.protocol.base.CptBaseInfo)
  4. cptId: 1017
  5. cptVersion: 1
  6. cptJsonSchema:(java.util.HashMap)
  7. $schema: http://json-schema.org/draft-04/schema#
  8. type: object
  9. properties:(java.util.LinkedHashMap)
  10. age:(java.util.LinkedHashMap)
  11. description: the age of certificate owner
  12. type: number
  13. gender:(java.util.LinkedHashMap)
  14. description: the gender of certificate owner
  15. enum:(java.util.ArrayList)
  16. [0]:F
  17. [1]:M
  18. type: string
  19. name:(java.util.LinkedHashMap)
  20. description: the name of certificate owner
  21. type: string
  22. required:(java.util.ArrayList)
  23. [0]:name
  24. [1]:age
  25. metaData:(com.webank.weid.protocol.base.Cpt$MetaData)
  26. cptPublisher: did:weid:101:0x39e5e6f663ef77409144014ceb063713b65600e7
  27. cptSignature: G/YGY8Ftj9jPRdtr4ym+19M4/K6x9RbmRiV9JkryXeQGFr8eukDCBAcbinnNpF2N3Eo72bvxNqJOKx4ohWIus0Y=
  28. created: 1560415607673
  29. updated: 0
  30. errorCode: 0
  31. errorMessage: success
  32. transactionInfo:null

时序图

sequenceDiagram调用者->>WeIdentity SDK : 传入指定的cptIdopt 参数校验Note over WeIdentity SDK:检查传入的cptId是否为空或负数WeIdentity SDK->>WeIdentity SDK:报错,提示weid不合法并退出endWeIdentity SDK->>区块链节点: 调用合约查询链上的指定cpt对应的信息区块链节点—>>WeIdentity SDK:返回WeIdentity SDK->>WeIdentity SDK:根据合约返回的值构建返回的java对象WeIdentity SDK—>>调用者:返回调用结果