跨MTA的依存关系和目的地

2020-08-15 14:52发布

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

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


嗨,

我有2个MTA应用程序(在相同的组织和空间中)-一个托管多个API/ODATA服务,另一个托管多个UI5应用。

在UI5应用程序中,我想定义引用其他MTA的API服务的模型目标。

因此,如 SAP帮助

现在从本质上讲这可以正常工作,但是我在将服务的" URL"传递到目的地时遇到了问题。

根据常规目标定义-需要提供一个网址:

因此,我猜测在部署过程中遇到错误时,URL参数未在MTA之间"转移":

无法解析提供的属性的引用:22058223-a79f-45aa-8407-5304bfeb2989-ta8xo1ynf0zp1qba- #services-api#url 

如果我将API服务包含在同一MTA中,则可以正常工作。

如果我在消费者mta.yaml中"硬编码" URL,那么我的应用程序也可以正常工作。

我在mta.yaml文件中具有以下定义:


提供商

模块:
   -名称:bc-services-core-api
     类型:nodejs
     路径:services_api
     提供:
       -名称:bc-services-api
         公开:真实
         特性:
           网址:" $ {default-url}"
 

消费者

模块:
   -名称:app
     类型:html5
     路径:应用
     要求:
       -名称:bc-services-api
         组:目的地
         特性:
           名称:services-api
           网址:"〜{url}"
           forwardAuthToken:true

 资源:
   -名称:bc-services-api
     类型:mta提供
     参数:
       mta-id:BC_ 
       MTA提供的依赖性:Bc-services-api
       mta版本:"> = 0.0.1"

 

在SAP帮助中,有一个关于属性的小主题,该主题讨论属性的"交叉引用",并在资源下放置一个" requires" ...但是无论如何,我都无法保存MTA.YAML文件 然后...

有关如何解决此问题的任何建议? 还是我在yaml文件中缺少或声明了错误的内容?

还请注意,我目前正在HANA Express SPS3系统(最新的补丁程序)上尝试此操作,但这最终需要在cloudfoundry平台中运行(希望没有区别)。

谢谢

史蒂芬

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

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


嗨,

我有2个MTA应用程序(在相同的组织和空间中)-一个托管多个API/ODATA服务,另一个托管多个UI5应用。

在UI5应用程序中,我想定义引用其他MTA的API服务的模型目标。

因此,如 SAP帮助

现在从本质上讲这可以正常工作,但是我在将服务的" URL"传递到目的地时遇到了问题。

根据常规目标定义-需要提供一个网址:

因此,我猜测在部署过程中遇到错误时,URL参数未在MTA之间"转移":

无法解析提供的属性的引用:22058223-a79f-45aa-8407-5304bfeb2989-ta8xo1ynf0zp1qba- #services-api#url 

如果我将API服务包含在同一MTA中,则可以正常工作。

如果我在消费者mta.yaml中"硬编码" URL,那么我的应用程序也可以正常工作。

我在mta.yaml文件中具有以下定义:


提供商

模块:
   -名称:bc-services-core-api
     类型:nodejs
     路径:services_api
     提供:
       -名称:bc-services-api
         公开:真实
         特性:
           网址:" $ {default-url}"
 

消费者

模块:
   -名称:app
     类型:html5
     路径:应用
     要求:
       -名称:bc-services-api
         组:目的地
         特性:
           名称:services-api
           网址:"〜{url}"
           forwardAuthToken:true

 资源:
   -名称:bc-services-api
     类型:mta提供
     参数:
       mta-id:BC_ 
       MTA提供的依赖性:Bc-services-api
       mta版本:"> = 0.0.1"

 

在SAP帮助中,有一个关于属性的小主题,该主题讨论属性的"交叉引用",并在资源下放置一个" requires" ...但是无论如何,我都无法保存MTA.YAML文件 然后...

有关如何解决此问题的任何建议? 还是我在yaml文件中缺少或声明了错误的内容?

还请注意,我目前正在HANA Express SPS3系统(最新的补丁程序)上尝试此操作,但这最终需要在cloudfoundry平台中运行(希望没有区别)。

谢谢

史蒂芬

付费偷看设置
发送
5条回答
hengyuye
1楼-- · 2020-08-15 15:26

嗨,斯文,

您的代码段似乎为该任务正确建模。 您是否仔细检查过" mta提供的"参数值是否正确? 至少在cf上,这很容易做到,在进度消息中部署提供程序MTA时,会打印类似的行:

>公开发布了依赖项" : <依赖项名称> " ...

值和值应用于mta提供的资源的mta-id和mta-provides-dependency参数。

通过另一种方式,可以通过"配置"资源来使用这种跨MTA提供的配置,这比" MTA提供的"资源具有某些优势。 下面应该是您的案例的有效模型。 经过测试后,请记住向配置资源中添加其他过滤器(例如,依赖项来源的org/space),以防止在生产中产生副作用-例如, 其他MTA在不同空间中的部署情况。

资源:
 -名称:bc-services-api
   类型:配置
   参数:
     provider-nid:mta
     provider-id:<您的MTA-ID>:bc-services-api
 模块:
   -名称:app
     ...
     要求:
       -名称:bc-services-api
         特性:
           网址:"〜{url}" 

如果解析仍然失败,请回复。

Dimitar

clasier
2楼-- · 2020-08-15 15:26

感谢分享这个问题,这对我很有帮助。 我在带有XSA的HANA 1.0 SPS12中使用了它!

路亽曱_Ryan
3楼-- · 2020-08-15 15:11

嗨, Abdel Dadouche

能否让我知道您如何通过API与UI5集成?

您是否在xs-app.json中设置了路由?

此致

Tri

Climb_Ma
4楼-- · 2020-08-15 15:25

嗨, Tri Le

是的,我使用了xs-app.json并实现了与我的外部网址匹配的模式。

我的用例非常简单:我需要在XANA开发中使用XSA进行开发,但要限制服务器和客户端无法访问Internet。我需要在HANA 1.0 SPS 12实例上本地"托管" SAPUI5库。

# p #
CJones
5楼-- · 2020-08-15 15:27

感谢Dimitar ...就像一种魅力-至少在云中也是如此。

还没有在HANA XSA上尝试过-我确实注意到的是 通过执行" xs mtas",我的MTA没有在那里列出..有点奇怪,但是也许因为我直接选择了"运行选项",实际上并没有注册为"已部署"?

一周热门 更多>