在XSA Advanced Application的xsjs文件中使用Http目标

2020-09-21 19:17发布

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

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


大家好!

我正在开发xsa高级应用程序,我想通过xsjs文件使用API​​,但是我发现自己找不到正确的方法。

我读到可以创建http目标,但我无法使其工作。

有人知道如何通过xsjs文件使用API​​吗?

我正在使用带有WebIDE的Hana Express Edition。

非常感谢!

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

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


大家好!

我正在开发xsa高级应用程序,我想通过xsjs文件使用API​​,但是我发现自己找不到正确的方法。

我读到可以创建http目标,但我无法使其工作。

有人知道如何通过xsjs文件使用API​​吗?

我正在使用带有WebIDE的Hana Express Edition。

非常感谢!

付费偷看设置
发送
3条回答
渐行渐远_HoldOn
1楼 · 2020-09-21 19:42.采纳回答

嗨,

openSAP HANA XSA SPS02课程练习的一部分具有类似的功能...在此处通过xsjs进行HTTP调用...

基本上,您需要使用HTTP设置注册用户提供的服务,在mta中定义资源,并在xsjs模块中要求它。 然后,您可以在代码中访问它:

 var dest = $ .net.http.readDestination(" sap.hana.democontent.epm.services"," images.SDS");
 var client = new $ .net.http.Client();
 var req = new $ .web.WebRequest($。net.http.GET,search);
 client.request(req,dest);
 var response = client.getResponse();
 ... 

可以在GitHub上的 HANA XSA SPS02 上找到这些练习。 -查看ZIP文件sap.hana.democontent.epm.services.zip,然后在其中找到文件" outboundTest.xsjs"。

Doze时光
2楼-- · 2020-09-21 19:59

嗨,大卫,

我查看了openSAP的内容,确实还有一个xshttpdest文件(带有冗余信息)。 我不确定为什么两者都需要...但是XSA确实提供XSJS向后兼容性,因此可能需要同时存在服务和文件才能使CloudFoundry和XSJS都满意(或者至少是我的猜测)。

看看下面的GIT分支...它包含openSAP课程的所有代码...

SAP GIT

在'/ core_js / lib / sap / hana / democontent / epm /services/',您可以找到执行外部HTTP调用的目标文件和xsjs" outboundtest"

此外,根目录中的mta.yaml文件还会显示要填充的参数...

希望这会有所帮助,

K,

史蒂文

大道至简
3楼-- · 2020-09-21 19:53

嗨,大卫,

您是否设法解决了HTTP目标的问题?

我在标准sap节点js'xsjs'模块的'自述文件'文档中偶然发现了以下文档-因此基本上证实了先使用UP服务属性-并回退到设计时文件。

 ##目标支持

 ####通过用户提供的服务
 默认情况下,兼容性层通过用户提供的服务支持目标配置。 目标名称(回购资源ID,例如package +'。'+ xshttpdest名称)与服务名称匹配。

 VCAP_SERVICES的示例内容:

 ```js
 " VCAP_SERVICES":{
   "用户提供":[
     {
       " label":"用户提供",
       " name":" foobar.httpdest.mydest",
       "凭据":{
         " host":" some.host",
         "端口":8088,
         "用户名":"用户",
         "密码":"秘密"
       }
     }
   ]
 }
 ```
 XSJS代码中的示例用法:
 ```js
 var destination = $ .net.http.readDestination('foobar.httpdest','mydest');
 ```
 如果VCAP_SERVICES中没有与请求的目的地同名的服务,则会引发异常。

 读取目标后,将设计时间描述符的内容与用户提供的服务中提供的属性合并。  UP服务的属性值将覆盖DT描述符值。

 

一周热门 更多>