将Cloud Foundry上的Node.js应用作为出站系统连接到S/4HANA Cloud

2020-08-17 21:34发布

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

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


大家好。

我们的团队正在尝试将Node.js服务连接到S/4HANA Cloud,以便Node服务接收SOAP请求。 特定的通信方案是SAP_COM_0444,其入站服务用于创建/更新销售计划协议,而出站服务用于发送出库交货通知。 我们可以成功使用入站服务,但是出站服务运气不佳。

这是我们到目前为止所做的。 我们创建了一个接受SOAP信封的自定义终结点,因此我们不认为这对我们的应用程序是有问题的。 我们将应用程序部署到我的SAP Cloud Platform试用帐户,并通过"通信安排"将其路由到该帐户。 这是我们放下的东西:

  • 服务状态:有效(已检查)
  • 应用协议:SOAP
  • 端口:8080(我不确定这是否正确,但是我知道这是我的服务正在运行的端口)。
  • 路径:/api/outbound/test(这是节点服务器的API路径)
  • 服务URL:https://[apphost] .com:8080/api/outbound/test(这是从通信系统,端口和路径自动生成的)

在本地进行一些调试后,我发现放下端口8080是不正确的。 问题是,没有端口,我们不能仅使用普通的url,因为用于设置通信安排的S/4HANA Cloud App自动将空白输入替换为0。为了使连接正常工作,我唯一想到的方法是: 在Cloud Foundry服务链接中的某个位置打开端口。

所以我的问题是,当为Cloud Foundry环境部署到SAP Cloud Platform时,我们如何设置服务链接的端口? 代替端口8080,我们可以将其设置为443或其他端口。 这是我的第一个猜测,但可能还会有其他解决方案。

非常感谢!

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

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


大家好。

我们的团队正在尝试将Node.js服务连接到S/4HANA Cloud,以便Node服务接收SOAP请求。 特定的通信方案是SAP_COM_0444,其入站服务用于创建/更新销售计划协议,而出站服务用于发送出库交货通知。 我们可以成功使用入站服务,但是出站服务运气不佳。

这是我们到目前为止所做的。 我们创建了一个接受SOAP信封的自定义终结点,因此我们不认为这对我们的应用程序是有问题的。 我们将应用程序部署到我的SAP Cloud Platform试用帐户,并通过"通信安排"将其路由到该帐户。 这是我们放下的东西:

  • 服务状态:有效(已检查)
  • 应用协议:SOAP
  • 端口:8080(我不确定这是否正确,但是我知道这是我的服务正在运行的端口)。
  • 路径:/api/outbound/test(这是节点服务器的API路径)
  • 服务URL:https://[apphost] .com:8080/api/outbound/test(这是从通信系统,端口和路径自动生成的)

在本地进行一些调试后,我发现放下端口8080是不正确的。 问题是,没有端口,我们不能仅使用普通的url,因为用于设置通信安排的S/4HANA Cloud App自动将空白输入替换为0。为了使连接正常工作,我唯一想到的方法是: 在Cloud Foundry服务链接中的某个位置打开端口。

所以我的问题是,当为Cloud Foundry环境部署到SAP Cloud Platform时,我们如何设置服务链接的端口? 代替端口8080,我们可以将其设置为443或其他端口。 这是我的第一个猜测,但可能还会有其他解决方案。

非常感谢!

付费偷看设置
发送
2条回答
我是小鹏鹏啊
1楼 · 2020-08-17 22:09.采纳回答

嗨,

我认为您所缺少的是CF环境配置的端口。 您无法确定正在运行的应用程序的内部端口(至少据我所知)。 您可以将以下示例用于快速应用程序:

 app.set('port',process.env.PORT || 8080); 

在内部部署到CF环境时, 端口将被确定,但最后可以使用443进行访问。因此,您需要使用443(而不是8080)配置通信方式。(示例中的|| 8080将确保您在 本地环境,该应用将在端口8080上运行)

最诚挚的问候,

Geert-Jan Klaps

huskylover
2楼-- · 2020-08-17 22:21

感谢您的回答Geert-Jan ,

我已经在Node应用程序中拥有了第一部分,但是在通信设置中设置端口就可以了! 我的下一部分虽然是为出站交付服务设置输出控件,但这与网络部分不在同一个域中。

最诚挚的问候,

凯尔

一周热门 更多>