从Web应用程序调用区块链状态证明服务时出错

2020-08-15 18:09发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 能帮我从我的应用程序中...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

能帮我从我的应用程序中调用状态证明服务的实例吗?

我一直在关注本指南以构建服务。 它已经启动并正在运行,并且从SAP API Hub调用它没有任何问题。 这是我在下面保存了ID为" 3"的原始示例有效负载后的201响应:

 {" test":" value"} 

现在,如果我尝试生成JavaScript代码段,并在自己的应用程序中使用它直接调用该服务,则会收到500错误。 这是我使用的代码:

 writeData:function(){
 var data = JSON.stringify({
 " test":"值"
 });
 var xhr = new XMLHttpRequest();
 xhr.withCredentials = false;
 xhr.open(" POST"," https://blockchain-service.cfapps.us10.hana.ondemand.com/blockchain/proofOfState/api/v1/states/4");
 xhr.setRequestHeader(" Content-Type"," application/json");
 xhr.setRequestHeader(" Accept"," application/json");
 xhr.setRequestHeader(" Access-Control-Allow-Credentials"," true");
 xhr.setRequestHeader(" Access-Control-Allow-Origin"," https:// -approuter.cfapps.us10.hana.ondemand.com");
 xhr.setRequestHeader(" Access-Control-Allow-Headers","访问控制允许来源,授权,内容类型");
             xhr.setRequestHeader(" Access-Control-Allow-Methods"," GET,HEAD,PUT,PATCH,POST,DELETE");
 xhr.setRequestHeader(" Authorization"," Bearer ");

 xhr.onload = function(){
 如果(xhr.status === 200){
 alert("已成功调用API!");
 }其他{
 alert("调用API失败");
 }
 };
 xhr.send(data);
 }
 
这是该服务的500条响应:

{"错误":{"代码":500,"消息":" {\" statusCode \":500}-请在 https://help上查看我们的文档。 sap.com/viewer/p/BLOCKCHAIN_APPLICATION_ENABLEMENT /"}}


请注意,这不是403或CORS错误。 我已经解决了。 呼叫确实到达了服务,我可以在仪表板中看到它,如下所示:

我不明白为什么是500? 最糟糕的是,该服务没有提供说明,并且该错误在任何地方都无法跟踪。 我怀疑我的有效负载不正确,但是文档中没有提供任何适合后期操作的有效负载示例。

因此,如果您能提出任何建议或提供示例说明,我将不胜感激 服务应该被调用。

谢谢!

-------------------------------------- ----------------

我已经查看了以下示例,但找不到答案:
https://developers.sap.com/tutorials/blockchain-application-enablement-proofstate.html
https://help.sap.com/viewer/71a0bb282b2144c6b27fefc772394cfb/BLOCK-AIN4
https://github.wdf.sap.corp/区块链/时间戳/blob/master/index.js

(141.5 kB)
9条回答
樱桃小丸子0093
2020-08-15 18:59

一个问题。 您是否正在区块链服务和UI5调用之间使用区块链启用服务? 呼叫流程必须类似于上面所述,其中区块链服务可以是多链,仲裁或超级账本。

一周热门 更多>