@ sap/cds-odata-v2-adapter-proxy-FunctionImport的问题

2020-08-19 21:48发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嘿社区, 在调用函数导入时,我...

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

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


嘿社区,

在调用函数导入时,我在@ sap/cds-odata-v2-adapter-proxy控制台中收到警告。 我得到了答复,但延迟了大约一分钟,这显然使该服务在我的应用中无用。 这是代理的控制台输出。

(节点:29710)UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性" ID"

     在Object.keys.forEach.key(/Users/simonroloff/git/kora-suite-cap/proxy/node_modules/@sap/cds-odata-v2-adapter-proxy/lib/index.js:1283:42)

     在Array.forEach()

     在data.forEach.data(/Users/simonroloff/git/kora-suite-cap/proxy/node_modules/@sap/cds-odata-v2-adapter-proxy/lib/index.js:1282:25)

     在Array.forEach()

     在convertRequestData(/Users/simonroloff/git/kora-suite-cap/proxy/node_modules/@sap/cds-odata-v2-adapter-proxy/lib/index.js:1281:10)

     在convertRequestData(/Users/simonroloff/git/kora-suite-cap/proxy/node_modules/@sap/cds-odata-v2-adapter-proxy/lib/index.js:1274:14)

     在convertRequestBody(/Users/simonroloff/git/kora-suite-cap/proxy/node_modules/@sap/cds-odata-v2-adapter-proxy/lib/index.js:1265:7)

     在convertProxyRequest(/Users/simonroloff/git/kora-suite-cap/proxy/node_modules/@sap/cds-odata-v2-adapter-proxy/lib/index.js:492:16)

     在ProxyServer.onProxyReq(/Users/simonroloff/git/kora-suite-cap/proxy/node_modules/@sap/cds-odata-v2-adapter-proxy/lib/index.js:262:9)

     在ProxyServer.emit(/Users/simonroloff/git/kora-suite-cap/proxy/node_modules/eventemitter3/index.js:184:35)

 (节点:29710)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。 该错误是由于在没有catch块的情况下抛出异步函数而引起的,或者是由于拒绝了.catch()未处理的承诺而导致的。  (拒绝ID:1)

 (节点:29710)[DEP0018] DeprecationWarning:已弃用未处理的承诺拒绝。 将来,未处理的承诺拒绝将以非零退出代码终止Node.js进程。
 

这是我的ODATA2请求(在邮递员中运行)

 http://localhost:4004/v2/odata/v4/NAVIGATE_SRV/GetHierarchy?Child ='Test123'

这是我的服务定义

 @ cds.persistence.skip

 实体ChildSet {

 键ID:字符串;

 关键日期:字符串;

 父级:字符串;

 种类:字串;

 Desc1:字符串;

 Desc2:字串;

 Childrencount:整数;

 Openplan:字符串;

 NextSeparator:字符串;

 WSApplications:字符串;

 负责人:字符串;

 红线:字符串;

 ValidFrom:字符串;

 ValidTo:字符串;

 }



 @ cds.persistence.skip

 函数GetHierarchy(Child:String)返回ChildSet的数组;
 

我正在使用最新版本的代理:

" @ sap/cds-odata-v2-adapter-proxy":" ^ 1.4.29" 

非常感谢您对我的帮助!

西蒙(Simon)

2条回答
clasier
2020-08-19 22:27 .采纳回答

你好西蒙,

我可以在我这一边重现此问题。 该问题看起来像是,您发送了一个"内容类型"标头,并为GET请求提供了一个非空的请求正文JSON。

然后发生的是,主体被解析,但是定义是函数而不是实体,因此发生此异常。 在这一点上,我将使其变得更加强大。

OData v2函数调用应只在URL中包含参数,就像您已经做过的那样。

您可以尝试在不带" content-type"标头且正文为空的情况下调用GET请求吗?

然后它对我有用。


我无法解释长时间的拖延。 OData V4服务如何备份? 您使用Java还是OData V4服务在同一Node.js中运行?

最诚挚的问候

Oliver

一周热门 更多>