HANA XSA HTML5 UAA错误无法获取对html5应用程序存储库运行时服务的访问令牌

2020-09-06 08:37发布

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

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


我已经创建了一个新的Web HTML5模块,并且已经建立了使用以前定义的UAA服务的依赖项。 我有另一个Web应用程序,在这里工作正常。 但是,在另一个MTA项目中使用新的Web HTML5模块时,我在同一空间中定义了对同一UAA服务的依赖关系,我得到了错误:

无法获得对html5应用程序存储库运行时服务的访问令牌


该网络应用程序刚刚挂起:



这是新的网络应用程序的日志:

hxeadm @ hxehost:/usr/sap/HXE/HDB90> xs记录LFMnF53aEI2iw9vBration-SAP-AD-Web --recent

 19年7月2日3:16:40.602 PM [API] OUT应用'LFMnF53aEI2iw9vBration-SAP-AD-Web'[Org'HANAExpress'''的液滴[id 3]的启动实例[状态STARTING,索引0],  [hxehost:40376] .7/2/19 3:16:49.726 PM [APP/3-0] SYS#2.0#2019 07 02 15:16:49:722#+ 00:00# 错误#/token-utils ############### PLAIN ##无法获取对html5应用程序存储库运行时服务的访问令牌:[错误:html5-repo-credentials:无效的类型:  null(预期的对象)]#7/2/19 3:16:50.000 PM [RTR] OUT 127.0.0.1--至hxehost:51058" GET/246723fb-6e64-48dc-a3a8-7a9a37186​​a8f/appStatus HTTP/1.1" 200 由01A-8d426c63-4912-4e73-94e9-0d91e207f9dd7/2/19 7:13:29.000 PM发送15中的20 [RTR] OUT 127.0.0.1--至hxehost:51058" POST/246723fb-6e64-48dc-a3a8-  7a9a37186​​a8f/softReset HTTP/1.1" 200通过01A-8d426c63-4912-4e73-94e9-0d91e207f9dd7/2/19 7:13:29.944 PM [25/45]以45中25发送[APP/3-0]错误(节点:19233)[DEP0013]  DeprecationWarning:调用异步函数 不建议使用回调。

UAA服务应该能够为该空间中的多个应用程序提供服务,我可以看到这一点。

这是我对新项目的YAML,其中UAA依赖项似乎不起作用:

 ID:SAP_AD_Integration
 _schema-version:" 2.1"
 描述:SAP和Active Directory集成
 版本:0.0.1
 模块:
   -名称:SAP_AD_HDB
     类型:hdb
     路径:SAP_AD_HDB
     要求:
       -名称:hdi_SAP_AD_HDB
         特性:
           TARGET_CONTAINER:'〜{hdi-container-name}'
   -名称:SAP_AD_Node
     类型:nodejs
     路径:SAP_AD_Node
     提供:
       -名称:SAP_AD_Node_api
         特性:
           网址:" $ {default-url}"
     要求:
       -名称:hdi_SAP_AD_HDB
       -名称:UAA-service
       -名称:SAP_AD_HDB
   -名称:SAP_AD_Web
     类型:html5
     路径:SAP_AD_Web
     要求:
       -名称:UAA-service
       -名称:SAP_AD_Node_api
         组:目的地
         特性:
           名称:SAP_AD_Node-后端
           网址:"〜{url}"
           forwardAuthToken:true
 资源:
   -名称:hdi_SAP_AD_HDB
     参数:
       配置:
         架构:SAP_AD_HDB
     特性:
       hdi-container-name:" $ {服务名称}"
     类型:com.sap.xs.hdi-container
   -名称:UAA-service
     类型:com.sap.xs.uaa-space
     参数:
       配置路径:./xs-security.json


 

这是Lucia运作的XAML教程中的一部分,它是YAML:

 ID:HANA_APP
 _schema-version:" 2.1"
 版本:0.0.1
 模块:
   -名称:网络
     类型:html5
     路径:网络
     要求:
       -名称:UAA-service
       -名称:core_xsjs_api
         组:目的地
         特性:
           名称:core-xsjs-backend
           网址:"〜{url}"
           forwardAuthToken:true
       -名称:ui5
   -名称:db
     类型:hdb
     路径:db
     要求:
       -名称:hdi_db
         特性:
           TARGET_CONTAINER:'〜{hdi-container-name}'
       -名称:CROSS_SCHEMA_PRODUCTS
         组:SERVICE_REPLACEMENTS
         特性:
           密钥:ServiceName_1
           服务:"〜{products-service-name}"
   -名称:core_xsjs
     类型:nodejs
     路径:core_xsjs
     提供:
       -名称:core_xsjs_api
         特性:
           网址:" $ {default-url}"
     要求:
       -名称:UAA-service
       -名称:hdi_db
       -名称:db
 资源:
   -名称:UAA-service
     类型:com.sap.xs.uaa-space
     参数:
       配置路径:./xs-security.json
   -名称:hdi_db
     参数:
       配置:
         模式:DB
     特性:
       hdi-container-name:" $ {服务名称}"
     类型:com.sap.xs.hdi-container
   -名称:ui5
     类型:org.cloudfoundry.managed-service
     参数:
       服务:sapui5_sb
       服务计划:sapui5-1.52
   -名称:CROSS_SCHEMA_PRODUCTS
     特性:
       products-service-name:" $ {service-name}"
     类型:org.cloudfoundry.existing-service


 

任何帮助将不胜感激。

谢谢

周杰伦

(112.0 kB)

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

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


我已经创建了一个新的Web HTML5模块,并且已经建立了使用以前定义的UAA服务的依赖项。 我有另一个Web应用程序,在这里工作正常。 但是,在另一个MTA项目中使用新的Web HTML5模块时,我在同一空间中定义了对同一UAA服务的依赖关系,我得到了错误:

无法获得对html5应用程序存储库运行时服务的访问令牌


该网络应用程序刚刚挂起:



这是新的网络应用程序的日志:

hxeadm @ hxehost:/usr/sap/HXE/HDB90> xs记录LFMnF53aEI2iw9vBration-SAP-AD-Web --recent

 19年7月2日3:16:40.602 PM [API] OUT应用'LFMnF53aEI2iw9vBration-SAP-AD-Web'[Org'HANAExpress'''的液滴[id 3]的启动实例[状态STARTING,索引0],  [hxehost:40376] .7/2/19 3:16:49.726 PM [APP/3-0] SYS#2.0#2019 07 02 15:16:49:722#+ 00:00# 错误#/token-utils ############### PLAIN ##无法获取对html5应用程序存储库运行时服务的访问令牌:[错误:html5-repo-credentials:无效的类型:  null(预期的对象)]#7/2/19 3:16:50.000 PM [RTR] OUT 127.0.0.1--至hxehost:51058" GET/246723fb-6e64-48dc-a3a8-7a9a37186​​a8f/appStatus HTTP/1.1" 200 由01A-8d426c63-4912-4e73-94e9-0d91e207f9dd7/2/19 7:13:29.000 PM发送15中的20 [RTR] OUT 127.0.0.1--至hxehost:51058" POST/246723fb-6e64-48dc-a3a8-  7a9a37186​​a8f/softReset HTTP/1.1" 200通过01A-8d426c63-4912-4e73-94e9-0d91e207f9dd7/2/19 7:13:29.944 PM [25/45]以45中25发送[APP/3-0]错误(节点:19233)[DEP0013]  DeprecationWarning:调用异步函数 不建议使用回调。

UAA服务应该能够为该空间中的多个应用程序提供服务,我可以看到这一点。

这是我对新项目的YAML,其中UAA依赖项似乎不起作用:

 ID:SAP_AD_Integration
 _schema-version:" 2.1"
 描述:SAP和Active Directory集成
 版本:0.0.1
 模块:
   -名称:SAP_AD_HDB
     类型:hdb
     路径:SAP_AD_HDB
     要求:
       -名称:hdi_SAP_AD_HDB
         特性:
           TARGET_CONTAINER:'〜{hdi-container-name}'
   -名称:SAP_AD_Node
     类型:nodejs
     路径:SAP_AD_Node
     提供:
       -名称:SAP_AD_Node_api
         特性:
           网址:" $ {default-url}"
     要求:
       -名称:hdi_SAP_AD_HDB
       -名称:UAA-service
       -名称:SAP_AD_HDB
   -名称:SAP_AD_Web
     类型:html5
     路径:SAP_AD_Web
     要求:
       -名称:UAA-service
       -名称:SAP_AD_Node_api
         组:目的地
         特性:
           名称:SAP_AD_Node-后端
           网址:"〜{url}"
           forwardAuthToken:true
 资源:
   -名称:hdi_SAP_AD_HDB
     参数:
       配置:
         架构:SAP_AD_HDB
     特性:
       hdi-container-name:" $ {服务名称}"
     类型:com.sap.xs.hdi-container
   -名称:UAA-service
     类型:com.sap.xs.uaa-space
     参数:
       配置路径:./xs-security.json


 

这是Lucia运作的XAML教程中的一部分,它是YAML:

 ID:HANA_APP
 _schema-version:" 2.1"
 版本:0.0.1
 模块:
   -名称:网络
     类型:html5
     路径:网络
     要求:
       -名称:UAA-service
       -名称:core_xsjs_api
         组:目的地
         特性:
           名称:core-xsjs-backend
           网址:"〜{url}"
           forwardAuthToken:true
       -名称:ui5
   -名称:db
     类型:hdb
     路径:db
     要求:
       -名称:hdi_db
         特性:
           TARGET_CONTAINER:'〜{hdi-container-name}'
       -名称:CROSS_SCHEMA_PRODUCTS
         组:SERVICE_REPLACEMENTS
         特性:
           密钥:ServiceName_1
           服务:"〜{products-service-name}"
   -名称:core_xsjs
     类型:nodejs
     路径:core_xsjs
     提供:
       -名称:core_xsjs_api
         特性:
           网址:" $ {default-url}"
     要求:
       -名称:UAA-service
       -名称:hdi_db
       -名称:db
 资源:
   -名称:UAA-service
     类型:com.sap.xs.uaa-space
     参数:
       配置路径:./xs-security.json
   -名称:hdi_db
     参数:
       配置:
         模式:DB
     特性:
       hdi-container-name:" $ {服务名称}"
     类型:com.sap.xs.hdi-container
   -名称:ui5
     类型:org.cloudfoundry.managed-service
     参数:
       服务:sapui5_sb
       服务计划:sapui5-1.52
   -名称:CROSS_SCHEMA_PRODUCTS
     特性:
       products-service-name:" $ {service-name}"
     类型:org.cloudfoundry.existing-service


 

任何帮助将不胜感激。

谢谢

周杰伦

(112.0 kB)
付费偷看设置
发送
5条回答
当学会了学习
1楼 · 2020-09-06 09:27.采纳回答

I对我来说,UAA的行为听起来不错。 如果您仍然在server.js中拥有呼叫,但从其他所有呼叫中删除了呼叫,则上一个屏幕截图中的错误才有意义。

控制台(F12)在"挂起"页面中怎么说? 您是否检查了防火墙规则中GCP实例的Web模块运行端口是否已打开?

小灯塔
2楼-- · 2020-09-06 09:23

嗨,杰伊,您为什么说UAA服务无法正常工作? 什么是行为/错误? 您没有使用HTML5应用运行时存储库服务

huskylover
3楼-- · 2020-09-06 09:10

嗨,露西亚-感谢您的快速回复。 我不确定为什么我会在SAP_AD_Web应用程序日志中看到错误"无法访问html5应用程序存储库运行时服务的访问令牌"。 我只有另一个MTA应用-身份验证之前,数据库NodeJS(odata/XSJS)在工作。 我只是添加了一个HTML5应用程序,并尝试将其用作应用程序路由器。 但是,当我在Web应用程序中添加require UAA服务(是从您的教程创建的)时,我什至无法导航到index.html。 如果我尝试打出我期望的nodeJS应用程序xsodata和XSJS,我将获得"未授权"。 但是未通过Web应用程序端口重定向xsodata和XSJS。

我上面的YAML看起来可以吗?

这是我在SAP_AD_Web应用程序中的xs-app.json。

 {
 " welcomeFile":" index.html",
 " authenticationMethod":"路由",
 "路线":[{
 " source":"(。*)(。xsjs)",
 "目标":" SAP_AD_Node-后端",
 " csrfProtection":否,
 " authenticationType":" xsuaa"
 },{
 " source":"(。*)(。xsodata)",
 "目标":" SAP_AD_Node-后端",
 " authenticationType":" xsuaa"
 }]
 }
 

我不确定还要去哪里。 我希望能够在资源下访问Web应用程序中的index.html。 但是对于xsodata和xsjs,我想路由到目标位置在YAML文件中定义的SAP_AD_Node支持。

当我点击nodeJS服务(获取index.xsjs)时-我在日志中看到我正在获取HTTP 401-未经授权的错误-这是预期的结果:

 7/3/19 5:44:32.000 AM [RTR] OUT 98.234.149.70--到hxehost:51029" GET/index.xsjs HTTP/1.1" 401通过013-7dc1cab2-829c-451d以22 in 3发送 -b12b-6c55f1bd3b07
 19/7/3 5:55:54.000 AM [RTR] OUT 98.234.149.70--至hxehost:51029" GET/HTTP/1.1" 401通过013-7dc1cab2-829c-451d-b12b-6c55f1bd3b07 
N-Moskvin
4楼-- · 2020-09-06 09:16

嗨, Lucia Subatin -我拿走了所有 yaml文件中的UAA服务引用,并在server.js文件中将Anonymous设置为true-因此,现在NodeJS可以正常工作。 我删除并添加了另一个基本HTML5模块,但是当我尝试运行index.html时,浏览器只是挂在https://hxehost:51058/index.html .....而Web应用程序日志中没有任何显示 。 所以看来我所说的错误是一个完全不同的问题:

 19/3/3 7:13:38.883 [APP/5-0] SYS#2.0#2019 07 03 07:13:38:878#+ 00:00#ERROR#/token-utils ###  ############# PLAIN ##无法获得对html5应用程序存储库运行时服务的访问令牌:[错误:html5-repo-credentials:无效类型:null(预期的对象)]#7/3/19 7:13:40.000 AM [RTR] OUT 127.0.0.1--至hxehost:51058" GET/da68dd50-95fd-489a-bbc8-544348bde587/appStatus HTTP/1.1" 200由01A-51d34e15-在17中发送了20  2d12-47b5-8d7b-47def9882d91 

不确定为什么index.html没有运行。

我尝试将xs-app.json设置为:

 {
 " welcomeFile":" index.html",
 " authenticationMethod":"路由",
 "路线":[{
 "资源": "/img/(。*)",
 " localDir":"资源"
 }]
 }
 

还有:

 {
 " welcomeFile":" index.html",
 " authenticationMethod":"无",
 "路线":[]
 } 

生成的index.html位于Web应用程序的resources文件夹中。 但是以某种方式,当运行webapp时,我无法在浏览器中显示此内容。

我确实在网络应用程序日志中看到以下错误消息。

亦是此间程序员
5楼-- · 2020-09-06 09:22

嗨露西亚-您提供了正确的权限 解决问题的见识。 默认情况下,Google Cloud上的HANA Express系统具有打开的端口tcp:51000-51055-用于自定义应用程序开发。

对于本教程,Web应用程序为https://hxehost:51053/index.html,而NodeJS为https://hxehost:51046。 全部在51055. :)

但是,由于我们开发了多个应用程序,所以我刚刚开发的新应用程序位于https://hxehost:51059/index.html-不在此范围内。 :(

我遇到麻烦的那个:WebApp位于https://hxehost:51058/-不在此范围内...,而NodeJS位于https://hxehost:51029/-在此范围内...

我更改了防火墙规则-导致了问题:端口tcp:51000-51055

我更改了此触发规则-端口tcp:51000-51999可以解决此问题。

WebApp和UAA现在正在工作。 非常感谢你的帮助。 你摇滚! 我什至没有想到要研究该问题,但我确实记得去年有这个问题。 谢谢! 杰伊

一周热门 更多>