如何在SAP Cloud Platform CF中的不同MTA/CAPM中访问现有(MTA)Java/node.js服务

2020-08-15 16:58发布

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

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


亲爱的

我们在SAP CP-CF中有一个MTA项目,其中包含Java和Node.js服务(没有ODATA,但具有简单的JSON格式),并且已经启用。

现在,我正在考虑将新需求(使用UI5)开发为在Cloud Foundry中使用SAP的新业务应用程序编程模型,而不会破坏现有项目。

要使UI5(从旧的MTA)访问那些现有服务,我无法使用org.cloudfoundry.existing-service访问这些服务。在构建过程中没有错误。 但是,UI5在运行时找不到该服务。

mta.yaml

-名称:zbusui51
     类型:html5
     路径:zbusui51
     参数:
       磁盘配额:256M
       记忆体:256M
     构建参数:
       制造商:咕unt声
     要求:
       -名称:njs_srv1
         组:目的地
         特性:
           名称:核心后端
           网址:"〜{url}"
           forwardAuthToken:true
 资源:
   -名称:njs_srv1
     类型:org.cloudfoundry.existing-service
 

xs-app.json

 {
   " welcomeFile":"/zbusui51/index.html",
   " authenticationMethod":"路由",
   "登出": {
     " logoutEndpoint":"/img/do/logout"
   },
   "路线":[
     {
       " source":" ^/zbusui51/(.*)$",
       " target":" $ 1",
       " localDir":" webapp"
     },
     {
 " source":" ^/njs_srv/(.*)$",
 " target":" $ 1",
 "目标":"核心后端"
 }
   ]
 }
 

错误:

HTTP状态404-找不到

  • 我们是否需要对现有服务URL使用子帐户级别的Destination? 有没有一种方法可以在MTA中进行配置以访问现有的服务网址(java/node.js)?
  • 有关此主题的任何指针,链接建议都将很有帮助。

谢谢!

此致

Chathia。

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

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


亲爱的

我们在SAP CP-CF中有一个MTA项目,其中包含Java和Node.js服务(没有ODATA,但具有简单的JSON格式),并且已经启用。

现在,我正在考虑将新需求(使用UI5)开发为在Cloud Foundry中使用SAP的新业务应用程序编程模型,而不会破坏现有项目。

要使UI5(从旧的MTA)访问那些现有服务,我无法使用org.cloudfoundry.existing-service访问这些服务。在构建过程中没有错误。 但是,UI5在运行时找不到该服务。

mta.yaml

-名称:zbusui51
     类型:html5
     路径:zbusui51
     参数:
       磁盘配额:256M
       记忆体:256M
     构建参数:
       制造商:咕unt声
     要求:
       -名称:njs_srv1
         组:目的地
         特性:
           名称:核心后端
           网址:"〜{url}"
           forwardAuthToken:true
 资源:
   -名称:njs_srv1
     类型:org.cloudfoundry.existing-service
 

xs-app.json

 {
   " welcomeFile":"/zbusui51/index.html",
   " authenticationMethod":"路由",
   "登出": {
     " logoutEndpoint":"/img/do/logout"
   },
   "路线":[
     {
       " source":" ^/zbusui51/(.*)$",
       " target":" $ 1",
       " localDir":" webapp"
     },
     {
 " source":" ^/njs_srv/(.*)$",
 " target":" $ 1",
 "目标":"核心后端"
 }
   ]
 }
 

错误:

HTTP状态404-找不到

  • 我们是否需要对现有服务URL使用子帐户级别的Destination? 有没有一种方法可以在MTA中进行配置以访问现有的服务网址(java/node.js)?
  • 有关此主题的任何指针,链接建议都将很有帮助。

谢谢!

此致

Chathia。

付费偷看设置
发送
7条回答
打个大熊猫
1楼-- · 2020-08-15 17:54

您好,

请查看使用跨MTA依赖项的选项:
https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/zh-CN/b8e1953a618e47e1bd3c3a60c213226e.html


当您在一个MTA中具有暴露某些ednpoint的应用程序并希望从属于第二个MTA的其他应用程序中重新使用它时,此功能将非常有用。

最好的问候,
Boyan

Nan4612
2楼-- · 2020-08-15 17:46

您已经找到解决此问题的方法了吗?

何必丶何苦呢
3楼-- · 2020-08-15 17:58

感谢 Boyan Velinov 共享详细信息。 我们已经弄清了几个月,问题已得到解决。

Tarun Jain -希望您的解决方案有效吗? 如上所述,请在 mta.yaml

中使用Cross-MTA依赖项描述符

示例供您参考:

-名称:njs_srv1
     类型:配置
     参数:
       provider-nid:mta
       provider-id:" source_mta_of_api:njs_srv1_api"
       版本:"> = 0.0.0" 
南山jay
4楼-- · 2020-08-15 17:52

嗨,钱德兰·P·卡西娅

能否请您告诉我如何在xs-app.json和manifest.json中设置路由?

谢谢。

Tri

huskylover
5楼-- · 2020-08-15 17:49

我面临着独立构建UI和API的相同挑战。 如果我们可以将部署在不同项目下的OData服务(例如:搜索帮助/值列表)重复使用到另一个项目的Web模块中,那将类似于使用任何外部API(UI开发人员只能专注于Web应用程序)。 我尝试了这一点(例如:对于CUPS),它的工作原理是,您需要通过XSA座舱创建用户提供的服务,并将其声明为MTA中的资源。 (不知道为什么,但是它需要在初始构建过程中提供硬编码的URL。)

-名称:external_be
     类型:org.cloudfoundry.user提供的服务
     参数:
       服务名称:external_be
     特性:
       网址:'https://<主机名>:<端口>'#来自其他项目或任何外部API的xsjs/xsodata

 

我尝试使用


我今天将尝试使用Boyan提供的解决方案来使用跨MTA依赖项。 我会为XSA服务工作,但仍在寻找使用外部API的更好方法。

三十六小时_GS
6楼-- · 2020-08-15 17:53

您好塔伦·贾因(Tarun Jain)

能否请您告诉我如何在xs-app.json和manifest.json中设置路由?

谢谢。

Tri

一周热门 更多>