点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 对于我们开发的应用程序,...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 对于我们开发的应用程序,...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
对于我们开发的应用程序,我需要在V2中公开OData,我发现我们可以使用v2适配器。
我使用了" @ sap/cds-odata-v2-adapter-proxy",但是它给出了内部服务器错误,并且没有相关的应用程序日志。
>我不确定服务器中是否缺少某些内容。 js。 您能帮忙吗?
server.js
"使用严格"; const https = require(" https"); const port = process.env.PORT || 3000; const server = require(" http")。createServer(); const cds = require(" @ sap/cds"); //为XSA UAA和HDBEXT中间件初始化Express App const xsenv = require(" @ sap/xsenv"); const xssec = require(" @ sap/xssec"); const xsHDBConn = require(" @ sap/hdbext"); const express = require(" express"); const odatav2proxy = require(" @ sap/cds-odata-v2-adapter-proxy") https.globalAgent.options.ca = xsenv.loadCertificates(); global .__ base = __dirname +"/"; global .__ uaa = process.env.UAA_SERVICE_NAME; var app = express(); var hanaOptions = xsenv.getServices({ 哈娜:{ 计划:" hdi共享" } }); //CDS OData V4处理程序 var options = { 种类:" hana", logLevel:"信息" }; cds.connect(选项); var odataURL ="/img/catalog"; //主应用 cds.serve(" gen/csn.json",{ crashOnError:错误 }) .at(odataURL) .with(require(" ./lib/handlers")) .in(app) .catch((err)=> { console.log(err); process.exit(1); }); //将任何重定向到服务根 app.get("/",(req,res)=> { res.redirect(odataURL); }); app.use(odatav2proxy({port})); require(" ./router")(应用程序,服务器); //启动服务器 server.on(" request",app); server.listen(port,function(){ console.info(`HTTP Server:$ {server.address()。port}`); });
谢谢
我为您提供了不同的型号 :
-您具有用于OData v4的cds.serve(" gen/csn.json")
-您有odatav2proxy({port}),它隐式使用模型" all"。 模型"全部"触发db和srv文件夹中所有CDS实体的编译...
因此,您似乎设法以某种方式设法获得了有效的gen/csn.json,但是CDS实体的编译失败。 (请参阅您的屏幕截图)。 看起来"正在使用"语句是错误的,因为它试图查找模块" ..db/data-model'\ ncat-service.cds ...
能否请您致电cds build/compile检查所有CDS文件的有效性,并修复CDS错误?
为了对齐OData服务v2和v4,还应该对代理使用" gen/csn.json",如下所示:
你能检查一下吗? 谢谢。
一周热门 更多>