问题标签 [sap-gateway]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
netweaver - SAP 网关在尝试获取 csrf 令牌时未经授权
SAP 网关在尝试获取 csrf 令牌时得到 403 未授权。
相同的用户名/密码适用于读取操作。
我查看了 sap 论坛中的其他一些帖子并在那里发布: https ://answers.sap.com/questions/715798/sap-gateway-unauthorized-when-trying-to-get-a-csrf.html
我们使用的是 http,但我们将 login/ticket_only_by_https 设置为 0。
我还查看了服务,没有看到参数 ~CHECK_CSRF_TOKEN = 0,如:https ://archive.sap.com/discussions/thread/3723417 所述
参数列表显示为空白。
还有其他想法吗?
我编写了一个小型 c# 程序来尝试获取 csrf 令牌,它适用于我们的测试系统,但它在客户的系统上失败。我一直无法弄清楚为什么。
odata - 如何使用 create_deep_entity 方法同时上传多个文件?
众所周知,我们可以使用create_stream
SAP Gateway(oData) 中的方法上传文件。
我想使用Create_Deep_entity
withcreate_stream
方法上传多个文件。
如何达到同样的效果。
odata - 在添加系统别名之前将处理模式更改为“基于路由”
从 /IWFND/MAINT_SERVICE 添加 OData 服务时出现此错误
在添加系统别名之前将处理模式更改为“基于路由”
我正在尝试在本地添加一个服务,该服务指向与 OData 所在的系统相同的系统。有人可以帮我解决这个错误吗?
sapui5 - SAPUI5 元数据在更改后不刷新
SAPUI5
我们在服务维护方面遇到了问题。通过SEGW
事务对服务实体进行更改后,客户端加载的元数据GW
保持更改前的状态。
例如,有一个日期字段变成了字符串,并GW
抛出invalid or no mapping to system data types found
. 原因是试图将字符串日期值(如 '16.05.2019')放入日期类型(实体的元数据不会以某种方式刷新)。
我们尝试刷新这些缓存:
- 重新计算索引
- 世芯
- 全局缓存
通过:
- /iwfnd/cache_cleanup
- /ui2/invalidate_global_caches
- /ui5/app_index_calculate
我们还重新加载了元数据,甚至删除了实体并重新创建它——所有这些都失败了。
在/IWFND_GW_CLIENT
事务中显示更新的元数据。
只有重新创建具有不同名称的实体似乎可以解决它,但它似乎不是维护服务的好方法......
odata - 从本地运行的 SAPUI5 应用程序访问 OData 服务
我在使用 Visual Studio Code 在本地运行 SAPUI5 应用程序时遇到问题。我正在使用 Grunt 在 localhost:8080 运行的静态文件服务器为 webapp 文件提供服务 问题是到达后端 OData 服务。第一个问题是 CORS 错误,我使用 NodeJS 运行的反向代理解决了这个问题。
这是反向代理的代码:
代码运行良好。当我在浏览器中输入 localhost:3000 时,我得到了 Web 应用程序文件,但我可以看到 Web 应用程序向 SAP 后端(“YYY-XXX.dispatcher.hana.ondemand.com”)发出的请求会产生以下 html回复:
“注意:您的浏览器不支持 JavaScript 或已关闭。按按钮继续。继续”
还有一件事:SAP云平台上的SAPUI5应用有测试环境吗?我只能看到作为生产代码的“实时”版本。有舞台环境吗?
我会很感激任何帮助,因为使用 Web IDE 对我来说不是一个选项。提前致谢!
odata - 发布到复杂类型的数组
我在 ABAP 中有一个 ORDER 结构,其中有另一个 ITEMS 结构,每个订单将包含多个项目。
我正在通过 SAP 网关服务填充此结构,该服务适用于 ORDER + 单个项目。
但是,提供多个 ITEM 的数组的语法是什么?
oauth - 使用 Azure AD 身份验证访问本地 SAML/OAuth 保护的 SAP API(ADFS 联合)
语境:
- AD 域、AAD Connect、Office365 租户
- ADFS 部署,AD 和 AAD 之间的联合
- 本地 SAP GW,配置了 SAML 和 OAuth
- SAP GW 不支持与 AAD 集成(仅支持 SAML SSO,需要使用自己的 OAuth 服务器)
范围:
我正在尝试在 SharePoint Online 中构建一个应用程序,经过身份验证的用户可以:
- 从 SAP 网关获取数据(哦,代表用户)
- 从 Microsoft Graph 获取数据
设计(到目前为止):
- 用户访问 Office 365 并使用 ADFS 进行身份验证
- 使用 ADAL/MSAL,我可以从 AAD 获取 OAUTH 令牌并从 Graph 获取数据(通过在 AAD 中注册具有 Graph 权限的企业应用程序来支持)
问题:
- 如果我尝试访问 onprem SAP API,SAP OAuth Server onprem 不会验证 AAD 生成的 OAuth 令牌。
我应该怎么办?
我是否应该直接从 ADFS 获取另一个 SAML 断言,以便为 SAP OAuth 服务器获取另一个 OAuth 令牌以访问本地 SAP API?如果是这样,我如何从 ADFS 获取 SAML 断言(调用 SAP OAuth 服务器)而不传递给 adfs 用户凭据(如本例中:https ://docs.microsoft.com/en-us/azure/active- directory/develop/v2-saml-bearer-assertion)并使用用户会话中可用的信息(已通过 AAD 验证)?
有没有办法将 ADFS 配置为接受来自 AAD 的 SAML 断言/JWT 令牌?
我应该做点别的吗?
关于我如何支持这种情况的任何想法?
谢谢
odata - 如何在 SET_GET_ENTITY 方法中为“数量”类型的字段编写 SELECT?
我想从我的表中选择包含所有列的单行zbookings
。zbookings
表具有基于zbooking
数据结构的结构 - 请参见下表。
我的BOOKINGSET_GET_ENTITY
方法:
我通过 SAP Gateway Client 对其进行了测试。luggweight
当我从我的SELECT SINGLE *
声明中删除列时没关系。但是,当我通过 选择所有列时SELECT SINGLE *
,它会输出错误
运行时错误:'SAPSQL_PARSER_TODO_WARNING'`
如您所见,问题出在类型为luggweight
字段quantity
且其键入方法为Type ref to
. BOOKINGSET_GET_ENTITY
当我通过 ctr+F2检查我的方法时,它会输出警告:
聚合函数 LUGGWEIGHT 的数据库字段或结果类型与“ER_ENTITY”的组件“LUGGWEIGHT”不兼容。
我应该如何修改我的SELECT
查询/BOOKINGSET_GET_ENTITY
方法以使其正常工作?
json - 如何在一个批次中发送多个 post 请求?
我正在尝试在一个批次中发送多个 POST 请求。
通过这 3 个请求,我们正在设置通知和订单的状态 --> 工作已完成、完成和关闭报告。就像菲奥里一样。
但是在 SAP Gateway Client 中,只有请求 1 和 3 是可以的。订单的状态仍然相同。
也许一个请求阻止了另一个请求?我必须创建不同的变更集吗?我该怎么做?