如何将UI5模块与SAP CAPM集成

2020-08-15 15:13发布

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

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


你好

我正在创建一个在SAP CF上运行的Java CAP应用程序,并且在其他MTA中有一个UI模块。 我正在尝试将UI模块与Java CAP应用程序集成。 因此,我认为这是跨MTA依赖关系和目标场景。

我在SCN和SAP博客中搜索了一些答案,并尝试了所有可能的方法。 但是没有一个。

这是我设置UI应用程序的方式。

  • 1。创建一个MTA并选择"使用HTML5应用程序存储库"选项。
  • 2。然后我创建HTML5模块,结构是这样的

  • 3.mta.yaml添加了跨MTA依赖项
 ID:演示
 _schema-version:" 2.1"
 参数:
   deploy_mode:html5-repo
 版本:0.0.1
 模块:
   -名称:demo-approuter
     类型:approuter.nodejs
     路径:demo-approuter
     参数:
       磁盘配额:256M
       记忆体:256M
     要求:
       -名称:demo_html5_repo_runtime
       -名称:dest_demo
       -名称:uaa_demo
   -名称:demo_ui_deployer
     类型:com.sap.html5.application-content
     路径:demo_ui_deployer
     要求:
       -名称:demo_html5_repo_host
     构建参数:
       要求:
         -名称:demo_ui
           工件:
             -'./*'
           目标路径:资源/demo_ui
   -名称:demo_ui
     类型:html5
     路径:demo_ui
     构建参数:
       制造商:定制
       命令:
         -npm安装
         -npm运行构建
       支持的平台:[]
       构建结果:dist
     要求:
       -名称:cap-config
         组:目的地
         特性:
           名称:servicegoals
           网址:"〜{url}"
           forwardAuthToken:true
 资源:
   -名称:demo_html5_repo_runtime
     参数:
       服务计划:应用程序运行时
       服务:html5-apps-repo
     类型:org.cloudfoundry.managed-service
   -名称:demo_html5_repo_host
     参数:
       服务计划:应用托管
       服务:html5-apps-repo
     类型:org.cloudfoundry.managed-service
   -名称:uaa_demo
     参数:
       路径:./xs-security.json
       服务计划:应用
       服务:xsuaa
     类型:org.cloudfoundry.managed-service
   -名称:dest_demo
     参数:
       服务计划:精简版
       服务:目的地
     类型:org.cloudfoundry.managed-service
   -名称:cap-config
     类型:配置
     参数:
       provider-nid:mta
       provider-id:" myplan-goals-cf-srv:srv_api"
       版本:"> = 0.0.0"


 
    UI模块中的
  • 4.xs-app.json
 {
 " welcomeFile":"/index.html",
 " authenticationMethod":"路由",
 "登出": {
 " logoutEndpoint":"/img/do/logout"
 },
 "路线":[{
 " source":" ^/servicegoals/(.*)$",
 " target":" $ 1",
 " authenticationType":" xsuaa",
 "目的地":"服务目标",
 " csrfProtection":false
 },{
 " source":" ^(。*)$",
 " target":" $ 1",
 " service":" html5-apps-repo-rt",
 " authenticationType":" xsuaa"
 }]
 }
 
  • 5。运行应用程序时出错

我已经检查了approuter的登录

 {" writing_at":" 2020-07-08T08:34:44.680Z"," writing_ts":1594197284680000000," csn_component":"-"," correlation_id":" kcd3whfs"," type":" log"  ," logger":" nodejs-logger"," layer":"/目标服务"," level":"错误"," container_id":" 10.0.137.16"," component_type":"应用程序"," component_id"  :" e4d12e6f-de51-45fc-8ee8-444ccde1a64b"," component_name":" demo-approuter"," component_instance":-1," source_instance":-1," organization_id":" "," organization_name"  :" "," space_id":" "," space_name":" "," context_id":" kcd3whfs"," msg":"从目标服务检索目标服务目标时出错。HTTP 状态码:404"} 
 {" writing_at":" 2020-07-08T08:34:44.680Z"," writing_ts":1594197284680000000," csn_component":"-"," correlation_id":" 5f59f1d6-27d5-46b7-68e4-39206cbd98b9"  ," type":" log"," logger":" nodejs-logger"," layer":"/img/Handler"," level":"错误"," container_id":" 10.0.137.16"," component_type":  " application"," component_id":" e4d12e6f-de51-45fc-8ee8-444ccde1a64b"," component_name":"演示应用路由器"," component_instance":-1," source_instance":-1," organization_id":" <  org_id>"," organization_name":" "," space_id":" "," space_name":" "," request_id":" 5f59f1d6-27d5-46b7-68e4-39206cbd98b9",  " msg":"获取对/aucomtridemo_ui/servicegoals/odata/v4/mpgoals/$ metadata的请求,状态为500-从目标服务检索目标服务目标时出错。HTTP状态码:404"} 

有人知道是否存在将ui5模块和CAPM应用程序集成的正确方法或模板?

谢谢。

Tri

(11.2 kB)

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

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


你好

我正在创建一个在SAP CF上运行的Java CAP应用程序,并且在其他MTA中有一个UI模块。 我正在尝试将UI模块与Java CAP应用程序集成。 因此,我认为这是跨MTA依赖关系和目标场景。

我在SCN和SAP博客中搜索了一些答案,并尝试了所有可能的方法。 但是没有一个。

这是我设置UI应用程序的方式。

  • 1。创建一个MTA并选择"使用HTML5应用程序存储库"选项。
  • 2。然后我创建HTML5模块,结构是这样的

  • 3.mta.yaml添加了跨MTA依赖项
 ID:演示
 _schema-version:" 2.1"
 参数:
   deploy_mode:html5-repo
 版本:0.0.1
 模块:
   -名称:demo-approuter
     类型:approuter.nodejs
     路径:demo-approuter
     参数:
       磁盘配额:256M
       记忆体:256M
     要求:
       -名称:demo_html5_repo_runtime
       -名称:dest_demo
       -名称:uaa_demo
   -名称:demo_ui_deployer
     类型:com.sap.html5.application-content
     路径:demo_ui_deployer
     要求:
       -名称:demo_html5_repo_host
     构建参数:
       要求:
         -名称:demo_ui
           工件:
             -'./*'
           目标路径:资源/demo_ui
   -名称:demo_ui
     类型:html5
     路径:demo_ui
     构建参数:
       制造商:定制
       命令:
         -npm安装
         -npm运行构建
       支持的平台:[]
       构建结果:dist
     要求:
       -名称:cap-config
         组:目的地
         特性:
           名称:servicegoals
           网址:"〜{url}"
           forwardAuthToken:true
 资源:
   -名称:demo_html5_repo_runtime
     参数:
       服务计划:应用程序运行时
       服务:html5-apps-repo
     类型:org.cloudfoundry.managed-service
   -名称:demo_html5_repo_host
     参数:
       服务计划:应用托管
       服务:html5-apps-repo
     类型:org.cloudfoundry.managed-service
   -名称:uaa_demo
     参数:
       路径:./xs-security.json
       服务计划:应用
       服务:xsuaa
     类型:org.cloudfoundry.managed-service
   -名称:dest_demo
     参数:
       服务计划:精简版
       服务:目的地
     类型:org.cloudfoundry.managed-service
   -名称:cap-config
     类型:配置
     参数:
       provider-nid:mta
       provider-id:" myplan-goals-cf-srv:srv_api"
       版本:"> = 0.0.0"


 
    UI模块中的
  • 4.xs-app.json
 {
 " welcomeFile":"/index.html",
 " authenticationMethod":"路由",
 "登出": {
 " logoutEndpoint":"/img/do/logout"
 },
 "路线":[{
 " source":" ^/servicegoals/(.*)$",
 " target":" $ 1",
 " authenticationType":" xsuaa",
 "目的地":"服务目标",
 " csrfProtection":false
 },{
 " source":" ^(。*)$",
 " target":" $ 1",
 " service":" html5-apps-repo-rt",
 " authenticationType":" xsuaa"
 }]
 }
 
  • 5。运行应用程序时出错

我已经检查了approuter的登录

 {" writing_at":" 2020-07-08T08:34:44.680Z"," writing_ts":1594197284680000000," csn_component":"-"," correlation_id":" kcd3whfs"," type":" log"  ," logger":" nodejs-logger"," layer":"/目标服务"," level":"错误"," container_id":" 10.0.137.16"," component_type":"应用程序"," component_id"  :" e4d12e6f-de51-45fc-8ee8-444ccde1a64b"," component_name":" demo-approuter"," component_instance":-1," source_instance":-1," organization_id":" "," organization_name"  :" "," space_id":" "," space_name":" "," context_id":" kcd3whfs"," msg":"从目标服务检索目标服务目标时出错。HTTP 状态码:404"} 
 {" writing_at":" 2020-07-08T08:34:44.680Z"," writing_ts":1594197284680000000," csn_component":"-"," correlation_id":" 5f59f1d6-27d5-46b7-68e4-39206cbd98b9"  ," type":" log"," logger":" nodejs-logger"," layer":"/img/Handler"," level":"错误"," container_id":" 10.0.137.16"," component_type":  " application"," component_id":" e4d12e6f-de51-45fc-8ee8-444ccde1a64b"," component_name":"演示应用路由器"," component_instance":-1," source_instance":-1," organization_id":" <  org_id>"," organization_name":" "," space_id":" "," space_name":" "," request_id":" 5f59f1d6-27d5-46b7-68e4-39206cbd98b9",  " msg":"获取对/aucomtridemo_ui/servicegoals/odata/v4/mpgoals/$ metadata的请求,状态为500-从目标服务检索目标服务目标时出错。HTTP状态码:404"} 

有人知道是否存在将ui5模块和CAPM应用程序集成的正确方法或模板?

谢谢。

Tri

(11.2 kB)
付费偷看设置
发送
5条回答
骆驼绵羊
1楼 · 2020-08-15 15:39.采纳回答

嗨,Minh,

您的要求配置有误:

需要:
       -名称:cap-config
         组:目的地
         特性:
           名称:servicegoals
           网址:"〜{url}"
           forwardAuthToken:正确

应该将其放在您的演示应用程序路由器下

尝试一下,我认为您很好。

能不能别闹
2楼-- · 2020-08-15 15:27

嗨,@ triminhle,

发布问题并获得可帮助您解决问题的响应时,您需要将答案标记为"已接受"以关闭该线程。

Climb_Ma
3楼-- · 2020-08-15 15:34

嗨,

您是对的,可以通过跨MTA依赖关系执行此操作,但是您可能还需要考虑更简单的选项:

  • 集成Web应用程序 与CAP应用程序在同一项目中。 然后,您完全不需要跨MTA依赖项。 就在今天,已经发布了大型博客文章。 或者,您可以查看此录音,其中我在VS Code上进行了类似的演示。
  • 如果要将Web应用程序保留在多带带的项目中,我将在CAP应用程序中(在驾驶舱中)创建目标。 然后,您可以使用approuter将流量转发到那里,并且您也不需要跨mta依赖项。
打一壶酱油
4楼-- · 2020-08-15 15:41

Hi Minh,

错误表示我们已经解决了您原来的问题。

现在有了新问题,您似乎为2个MTA使用了不同的XSUAA服务。 如果您确实跨MTA,则应确保两个MTA都使用相同的XSUAA服务。 您可以像下面这样更新当前的MTA以使用myplan-goals-cf的uaa的uaa:

-名称: 

当然,您可以选择相反的操作(在另一个MTA中执行此操作),我只是在这里说明如何使用

派大星 ヾ
5楼-- · 2020-08-15 15:33

感谢您澄清Marius!

我不得不问一下,因为到目前为止,我在几乎每个项目中都使用这种方法。 通常,在一个MTA中,开发工作从小规模开始且易于管理,但是在整个过程中并不会一直这样。 :D

一周热门 更多>