2

我正在尝试将请求从 google api 脚本发送到 IBM Blockchain SaaS 项目 Bluemix。代码是:

var url = "https://24f7d912-60f4-4eaf-89c6-b3e34b2247f9_vp1-api.blockchain.ibm.com:443/chaincode";
  var headers =
  {"jsonrpc": "2.0",
   "method": "query",
   "params": {
       "type": 1,
       "chaincodeID": {
           "name": "c86de893fe7203e09add8c47237ffa377814311d9c3cb21ca4d3d5c4eeca65294d801a1f2e5a2d6b22b91096d9c8e42910046d2ab02d295ad0a0fb0b716e9a69"
       },
       "ctorMsg": {
           "function": "query",
           "args": ["b"]
        },
        "secureContext": "dashboarduser_type0_953add49d4"
    },
    "id": 1
  };
  var options =
     {
      "method" : "post",
      "headers" : headers,
       "MuteHttpExceptions":false
     };
  var response = UrlFetchApp.fetch(url,options);
  var responseString=response.getContentText();  
}

错误信息是:

{"jsonrpc":"2.0","error":{"code":-32600,"message":"Invalid request","data":"Client must supply a payload for chaincode requests."},"id":null}

Firefix Poster 的请求得到了正确答复。

4

1 回答 1

1

您已将查询指定为方法函数的参数, 但如果您尝试使用自定义函数进行查询(然后将方法指定为查询并将函数指定为您在链代码中创建的自定义函数名称)为:

{"jsonrpc": "2.0",
"method": "query",
   "params": {
       "type": 1,
       "chaincodeID": {
           "name": "chainId"
       },
       "ctorMsg": {
           "function": "customfunctionName",
           "args": ["b"] //Argument to that custom function
        },
        "secureContext": "dashboarduser_type0_953add49d4"
    },
于 2016-07-06T17:42:41.577 回答