无法建立服务绑定的目标:无法找到给定名称的服务绑定

2020-08-23 16:40发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) Hello SAP Cloud...

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

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


Hello SAP Cloud SDK/SAP CAP专家

解决问题后

我正在继续我的旅程,以使用Cloud Connector和主体传播从SAP CP Cloud Foundry调用NodeJS中实现的CAP Service调用我的onPrem ABAP Developer Edition系统。

我已经在GitHub上更新了示例项目。 您可以在 README.md 中找到安装说明。

因此,在访问已部署的MTA的应用程序部分时,这里起作用了:

  • 我可以通过/api/userInfo路径读取req.user的内容
  • 我可以通过/api/jwt路径读取JWT
  • 调用仅从HANA持久性返回数据的/catalog/Orders路径也可以
  • 通过xs-app.json中定义的NPL目标调用后端确实适用于公共ping服务(/sap/public/ping)以及经过身份验证的ping(/sap/bc/ping)和 OData端点。 该请求通过云连接器调用后端,并且主体传播工作完成。

但是当我呼叫端点/catalog/Orders?$ expand = EPMBusinessPartner时,我看到以下错误返回给用户:

 <?xml version =" 1.0" encoding =" UTF-8"?>
 
    500 
   内部服务器错误
  

在日志中,我看到:

无法为服务绑定建立目标:无法为给定名称" NPL"找到服务绑定!
 找到以下绑定:epmbp消费者应用程序目的地服务,epmbp消费者应用程序uaa,epmbp消费者应用程序db hdi容器,epmbp消费者应用程序连接服务。

我什至添加了 Dennis Hempfing 建议的编码: S/4HANA Cloud SDK JavaScript代码以注入JWT 。 但这并没有改变行为。 而且我希望这不是必需的,将由CAP或SAP Cloud SDK处理。

所以请让我知道我在做什么错,以便找不到目标NPL。

最诚挚的问候
格雷戈尔

6条回答
spaceman01
2020-08-23 17:06 .采纳回答

你好,格雷戈尔,

我在这里注意到很多事情:

1。 您在日志中看到的警告很可能与这种情况无关。 您并不是第一个对此感到困惑的人,我完全明白为什么,措辞令人困惑。 我已对信息进行了调整,以期将来避免此类混乱。

2。 此处返回的错误表明有多种情况:
a)由于服务器返回了该错误,因此我说fetchung和使用目的地似乎可行。 b)由于这是内部服务器错误,因此 您是否已检查服务器日志以获取更多信息?
c)附加到b),我猜测该请求的构造不正确,或者ABAP系统中实际上出了点问题。

3。 我查看了您的更新代码,对于您尝试执行的请求感到困惑(/catalog/Orders?$ expand = EPMBusinessPartner)。 服务定义( https://github.com/gregorwolf/epmbp-consumer-app/tree/master/srv/service-specifications ),以及存储库中生成的客户端代码a)不定义任何导航属性,b)描述" EPMBusinessPartner", 是您要在请求中扩展为的实体。 因此,无论如何,您尝试执行的请求都无法用给定的生成代码执行。 您可以将我链接到代码中执行请求的地方吗?

4。 关于解析和传递JWT:对于与SAP Cloud Platform的某些交互,例如,获取使用主体传播作为身份验证类型的目的地(无论是Cloud还是OnPremise),都需要知道JWT,因为这就是表示所述主体的内容。 SAP Cloud SDK在这里不会为您执行任何类型的集成,即您必须手动解析并传递它。 有一个更简单的函数来解析( retrieveJwt ,现在可用于Node的IncomingMessage抽象)。
我们遇到的问题是,一旦我们与某种为您提供服务的服务器库/框架进行某种形式的集成,我们就需要对您所使用的技术做出假设 使用。 这是某些用户可能无法接受的事情,并且到目前为止,优先级方面的重要性不如用户要求的其他事情重要。 因此,到目前为止,我们的座右铭是不做任何技术假设以支持与所有内容兼容(例如,您不需要任何类型的服务器库来执行OData请求,您只需在脚本中进行任何操作即可) 上)。

我希望这会有所帮助并提供一些背景信息! 就像我在3中所说的,如果您可以指出当前发生问题的地方,那么我很乐意再看一遍。

最好的问候,
丹尼斯

一周热门 更多>