从SAP Conversational AI调用oDATA服务时出错,证书不受信任

2020-08-18 02:30发布

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

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


尊敬的专家,

我已经使用https://cai.tools.sap构建了一个简单的机器人。 我已经创建了一项动作(连接外部服务)以从本地S/4HANA 1709系统检索业务信息的技能。 当该技能调用oData服务时,它将失败并显示以下错误:"警告:检测到API错误"。 似乎无法处理HTTPS响应,因为它是由具有无效证书的Web服务器返回的。 有没有办法在CAI中导入S/4HANA服务器的证书以信任它? 问候。

" \的GET请求上的I/O错误" https://swims4.nca.ihost.com:44302/sap/opu/odata/sap/ZWFORECAST_SRV/OrderAlerts \":PKIX路径构建失败:详细信息:无法 找不到指向请求目标的有效证书路径;嵌套异常为"详细信息:PKIX路径构建失败:详细信息:无法找到指向请求目标的有效证书路径" 

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

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


尊敬的专家,

我已经使用https://cai.tools.sap构建了一个简单的机器人。 我已经创建了一项动作(连接外部服务)以从本地S/4HANA 1709系统检索业务信息的技能。 当该技能调用oData服务时,它将失败并显示以下错误:"警告:检测到API错误"。 似乎无法处理HTTPS响应,因为它是由具有无效证书的Web服务器返回的。 有没有办法在CAI中导入S/4HANA服务器的证书以信任它? 问候。

" \的GET请求上的I/O错误" https://swims4.nca.ihost.com:44302/sap/opu/odata/sap/ZWFORECAST_SRV/OrderAlerts \":PKIX路径构建失败:详细信息:无法 找不到指向请求目标的有效证书路径;嵌套异常为"详细信息:PKIX路径构建失败:详细信息:无法找到指向请求目标的有效证书路径" 
付费偷看设置
发送
4条回答
暮风yp
1楼 · 2020-08-18 03:06.采纳回答

尊敬的专家,

作为旁路解决方案,我已经在IBM Cloud上实现了Node-RED应用程序。

https://developer.ibm .com/tutorials/how-to-to-create-a-node-red-starter-application/

我使用Node-RED应用程序并将其部署在IBM Cloud Platform上。 IBM Could平台充当SAP会话AI和我们的OData服务之间的中间件,以接收来自SAP会话AI Chatbot的请求,查询OData服务并准备响应以发送回SAP会话AI。

spaceman01
2楼-- · 2020-08-18 02:59

Hi Didier,

是 当您查看网络监视器时,对话框调用的响应中是否显示错误?

实际上,当前调试目标并不容易。 为了进行进一步的调查,我需要更多详细信息,例如bot-version-id或关联ID。 如果您希望我看看您的机器人,请随时给我发送电子邮件。 通常,您需要打开一张官方支持票,但是老实说,我认为这里不是一个错误,而是缺少一些配置。

最好

托马斯

半个程序猿
3楼-- · 2020-08-18 02:42
亲爱的 Didier Decroos

感谢您的帮助。 让我尝试澄清您正在描述的问题的多项内容。

当前无法将自定义证书导入到默认情况下不受信任的SAP Conversational AI中。 我们信任SAP普遍信任的一组标准CA。 因此,就我所知,没有办法例外。

您正在谈论OP系统,但是您的URL似乎可以在Internet上公开获得。 那是对的吗? 要拨打系统电话,通常有多种选择:

  • 至少在面向互联网的部分上,在OP系统上安装通常受信任的证书。
    您可以使用任何SSL分析工具轻松检测到当前证书的问题,例如Chrome浏览器中显示的提示或 SSL在线测试服务。 这应该已经使您对这些问题有了个好主意。
  • 要调用SAP OP Systems,建议的方法是使用SAP Cloud Connector。 我不知道您对这种解决方案有多熟悉,但是总而言之,这是将您的OP系统(尤其是那些不开放Internet的系统)暴露给SAP Cloud Solutions的一种安全方法。 它是一种在您的内部运行的工具,可安全地隧穿来自SAP Cloud Platform的请求。 这样,由于在两个SAP解决方案之间建立了安全的隧道,您将克服证书问题。

要使用目标功能,您需要一个SAP Cloud Platform Cloud Foundry帐户,在此订阅SAP Conversational AI应用程序并配置目标。 SAP帮助的产品部分提供了有关这些主题的大量文档:

https://help.sap.com/viewer/product/ SAP_CONVERSATIONAL_AI/latest/zh-CN


我希望这会有所帮助。

最佳,
托马斯


有用的资源:

Nan4612
4楼-- · 2020-08-18 03:02

嗨,托马斯

我对带有目标的SAP CAI的实现感到困惑。 你能帮忙吗? 我需要将我在SAP CoPilot上完成的某些开发迁移到SAP CAI。 非常感谢您的帮助。 问候。

SAP Copilot:我已经在自己的S/4HANA上实现了oData服务,并将oData服务通过SAP Cloud连接器和目标连接到Cloud上的SAP CoPilot。 效果很好。

SAP CAI:我想从我在https://cai.tools.sap/decroos/swim/skills/weatheralerts上开发的机器人中调用相同的oData服务,我知道我无法通过TEST或 与您的机器人聊天。 我已经在SAP Cloud上开发了NodeJS应用程序: https://didierhost21111961.cfapps .eu10.hana.ondemand.com /NodeJS应用正在使用SAP Conversational AI Web Client调用该机器人:

<脚本

src=" https://cdn.cai.tools.sap/webclient/bootstrap.js"
data-channel-id =" 454ebf1f-4c34-40d7-ad07-f4d9b76b2480"
数据令牌 ="f27404619f224364adf1742667dce222",点击数据 - 膨胀型="CAI",点击数据膨胀机一偏好="eyJleHBhbmRlckxvZ28iOiJodHRwczovL2Nkbi5jYWkudG9vbHMuc2FwL3dlYmNoYXQvd2ViY2hhdC1sb2dvLnN2ZyIsImV4cGFuZGVyVGl0bGUiOiJDbGljayBvbiBtZSEiLCJvbmJvYXJkaW5nTWVzc2FnZSI6IkNoYXQgd2l0aCBtZSEiLCJvcGVuaW5nVHlwZSI6Im5ldmVyIiwidGhlbWUiOiJERUZBVUxUIn0 ="结果,ID ="彩Web客户端定制">结果

如果查看浏览器跟踪,可以看到从SAP Conversational AI Web客户端到api.cai.tools.sap的请求

https://api.cai.tools.sap/connect/v1/webhook/454ebf1f-4c34-40d7-ad07-f4d9b76b2480 200

https://api.cai.tools.sap/connect/v1/webhook/454ebf1f-4c34-40d7-ad07-f4d9b76b2480/conversations/cd9017f3-97e9-42e3-86f3-32fd271c6bf2/poll?last_message_id=1a460a4b-d700 -401d-aa84-2ccf784ea7cb 200

我不了解在何处调用SAP CAI服务" swim-cai-demo"...。我不了解如果在cai.tools上执行该机器人中对SW2-destination的引用,将如何使用它。 .sap我已经定义了一个目标:SW2 https://account.eu3.hana.ondemand.com/cockpit/#/globalaccount/CA12041529TID000000000740641187/subaccount/4fc457bd-f4ad-42e7-9934-e45a7df82f4b> destinations