HANA XSA Express-MTAR中缺少xs-security.json并重新部署

2020-09-06 09:51发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在开发用于构建MTA应用程序...

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

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


我正在开发用于构建MTA应用程序的最新XSA Express系统(SPS 03补丁64(内部版本4.3.64))。

MTA应用程序的不同组件使用UAA服务实例进行用户身份验证(由SAP规定)。 在项目的根目录中,将创建文件" xs-security.json",该文件定义了应用程序中使用的不同范围,属性和角色模板。

最初将应用程序部署在HANA Express上的某个空间内时,会自动创建UAA服务。

最初,我的安全文件为空,因此创建该服务时没有任何问题(因为该文件的实际"内容"为空)。 定义好身份验证角色模板后,我相信以后可以通过CLI更新UAA服务以使用新的安全性数据。 (或更可能我可能已通过CLI删除并重新创建了服务)。

稍后,当我开始通过XS部署重新部署经过修改的MTAR时,我注意到发生了错误,无法进行部署。

执行XS部署时出现错误

'xs-security.json不一致:xsappname无效:不能为。' 现在-在找到此主题之后结束-对我来说很有意义...安全描述符未包含在构建中 MTAR二进制文件!

为了部署我的MTA的新版本-到目前为止,我的解决方案是:

  1. 删除现有的UAA服务
  2. 部署新的MTAR。 然后,再次创建没有安全信息的UAA服务。
  3. 然后应该认为您可以使用上载的xs-security.json文件(xs update-service yourUAA -c xs-security.json)简单地更新现有的新服务...不,...不起作用 。 更新错误,提到的xsappname与新的服务名称不匹配-yourUAA <> yourUAA!i1 ... SAP根据您在..中部署的空间添加了'!i1'后缀,但由于某种原因它无法理解我 正在更新同一服务..."(由于意外的服务器错误,操作失败),并显示错误消息:'description:更新应用程序yourUAA!i4时出错(无法通过更新更改AppId。)"
  4. 再次删除UAA服务(!)
  5. 再次引用安全文件来创建UAA服务(xs create-service xsuaa space yourUAA -c xs-security.json)。 现在已考虑安全文件。
  6. 再次使用新的UAA服务重新绑定所有现有的应用/服务

上述内容带来的令人不愉快的副作用是,所有现有角色都丢失了那些分配的角色模板...因此,必须重新定义角色...繁琐的工作...

我下载了最新的CLI MTAR构建器,并通过命令行构建了档案文件。...同样的问题...仍然没有文件。

在另一个主题中提出的解决方案? 手动将文件添加到MTAR存档中。.

我的mta.yaml文件中有以下设置...

参数:config_path:./xs-security.json

我尝试了MTAR文件中的多个位置-在根文件夹中,在META-INF文件夹中-没有任何作用..总是相同的错误...(叹气)...

所以似乎有两个问题:

  1. MTAR文件的构建不包括xs-security.json文件
  2. 通过cli更新UAA服务不起作用,因为它错误地比较了应用名称

我希望这些问题能尽快得到解决,因为与MTA一起正常工作确实令人沮丧。

5条回答
太Q了
2020-09-06 10:45

>因此,在mta.yaml文件中添加安全性内容可以解决构建中缺少安全性文件的问题(据我所知),但是...还能解决XSUAA实例的更新吗?

< p>这仅解决了MTAR中缺少xs-security.json的问题。 XSUAA根本不支持更新现有实例这一事实并没有改变。 那只是我们必须忍受的已知技术限制。

一周热门 更多>