I've a fabric network running with a simple BNA. This BNA defines two types of participants viz. Corporate and Person. Here, each Person has a relationship with the corporate as shown below (cto file):
participant Corporate identified by corporateId { o String corporateId o String corporateName } participant Person identified by personId { o String personId --> Corporate corporate }
What I'm trying to do:
- Create a Corporate using Transaction Processor Function: Success
- Create a Person using Transaction Processor Function: Failure
Following is the snippet from transaction processor function for #2:
let corporateIdExpected = personDetails.corporate; if(corporateIdExpected && corporateIdExpected != '') { let corporateRetrieved = await query("GetCorporateByCorporateId", {corporateId: corporateIdExpected}); if(!corporateRetrieved || corporateRetrieved == '') { throw new Error("Corporate details not valid. Please check if your corporate is present on the network."); } }
Snippet from my queries.qry:
query GetCorporateByCorporateId { description: "Returns all corporates in the registry" statement: SELECT org.samplenetwork.participants.Corporate WHERE (corporateId == _$corporateId) }
So, I get the following error when I try the #2:
Error: 2 UNKNOWN: error executing chaincode: transaction returned with failure: Error: Error: http: read on closed response body
However, when I try to execute the query directly from the swagger, it runs successfully.
I'm using:
Hyperledger Fabric: 1.1 Hyperledger Composer: 0.19.8
Am I missing out any checks or steps for this one?