点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我已经完成了指南 最好在我的Successfactors系统之一而不是S/4上运行它。
由于SF没有任何现成的API,我使用此教程。 在我的cf全局帐户中,我将我的SF租户连接为一个系统,该系统在我的子帐户中创建了一个随时可用的目的地。
在我的requestBuilder中,我现在想使用此目标,但是它不允许我使用。 我得到的错误是:
019-11-15T14:36:35.94 + 1100 [APP/PROC/WEB/0]错误设置了环境变量"目的地"。 将从此变量读取目标。 不建议将其用于生产性应用! 取消设置变量以从SAP Cloud Platform上的目标服务读取目标。 2019-11-15T14:36.35 + 1400 [APP/PROC/WEB/0]错误无法为服务绑定建立目标:无法为给定名称" sfdemo"找到服务绑定! 找到以下绑定:myuaa。 2019-11-15T14:36:35.94 + 1100 [APP/PROC/WEB/0]错误无法将特定的XSUAA服务实例与给定的JWT匹配。 绑定了以下XSUAA实例:myapp!t594。 将选择以下一项:myapp!t594。 这可能会在系统的其他部分产生错误! 2019-11-15T14:36:35.94 + 1100在[VCAP_SERVICES]中找不到[APP/PROC/WEB/0] ERR服务'目标'。 2019-11-15T14:36:36.04 + 1100 [APP/PROC/WEB/0] ERR(节点:81)UnhandledPromiseRejectionWarning:错误:找不到名称为" sfdemo"的目的地! 无法执行请求。 2019-11-15T14:36:36.04 + 1100 [APP/PROC/WEB/0]在Object.errorWithCause(/home/vcap/app/node_modules/@sap/cloud-sdk-util/dist/error.js: 14:20) 2019-11-15T14:36:36.04 + 1100 [APP/PROC/WEB/0]错误位于/home/vcap/app/node_modules/@ sap/cloud-sdk-core/dist/request-builder/request-builder- base.js:125:78 2019-11-15T14:36:36.04 + 1100 [APP/PROC/WEB/0]在process._tickCallback(内部/process/next_tick.js:68:7)出现ERR 2019-11-15T14:36:36.04 + 1100 [APP/PROC/WEB/0]错误引起原因: 2019-11-15T14:36:36.04 + 1100 [APP/PROC/WEB/0] ERR错误:找不到与目标服务实例的绑定。 请将目标服务实例绑定到您的应用程序! 2019-11-15T14:36:36.04 + 1100 [APP/PROC/WEB/0]在getDestinationServiceCredentials(/home/vcap/app/node_modules/@ sap/cloud-sdk-core/dist/scp-cf/destination- accessor.js:394:15) 2019-11-15T14:36:36.04 + 1100 [APP/PROC/WEB/0]错误在getAccessToken(/home/vcap/app/node_modules/@ sap/cloud-sdk-core/dist/scp-cf/destination- accessor.js:327:60) 2019-11-15T14:36:36.04 + 1100 [APP/PROC/WEB/0]错误位于/home/vcap/app/node_modules/@ sap/cloud-sdk-core/dist/scp-cf/destination-accessor。 js:172:42 2019-11-15T14:36:36.04 + 1100 [APP/PROC/WEB/0]错误在步骤(/home/vcap/app/node_modules/@ sap/cloud-sdk-core/dist/scp-cf/destination- accessor.js:46:23) 2019-11-15T14:36:36.04 + 1100 [APP/PROC/WEB/0]在Object.next(/home/vcap/app/node_modules/@ sap/cloud-sdk-core/dist/scp-cf/destination-accessor.js:27:53) 2019-11-15T14:36:36.04 + 1100 [APP/PROC/WEB/0]错误位于/home/vcap/app/node_modules/@ sap/cloud-sdk-core/dist/scp-cf/destination-accessor。 js:21:71 2019-11-15T14:36:36.04 + 1100 [APP/PROC/WEB/0]在新的Promise中出现错误() 2019-11-15T14:36:36.04 + 1100 __awaiter处的[APP/PROC/WEB/0]错误(/home/vcap/app/node_modules/@ sap/cloud-sdk-core/dist/scp-cf/destination- accessor.js:17:12) 2019-11-15T14:36:36.04 + 1100 [APP/PROC/WEB/0]在getDestinationFromDestinationService(/home/vcap/app/node_modules/@ sap/cloud-sdk-core/dist/scp-cf/destination- accessor.js:149:12) 2019-11-15T14:36:36.04 + 1100 [APP/PROC/WEB/0]错误位于/home/vcap/app/node_modules/@ sap/cloud-sdk-core/dist/scp-cf/destination-accessor。 js:131:107 2019-11-15T14:36.04 + 1100 [APP/PROC/WEB/0]错误(节点:81)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。 该错误是由于在没有catch块的情况下抛出异步函数而引起的,或者是由于拒绝了未使用.catch()处理的诺言而引起的。 (拒绝ID:3) 2019-11-15T14:36:36.04 + 1100 [APP/PROC/WEB/0] ERR(节点:81)[DEP0018] DeprecationWarning:已弃用未处理的承诺拒绝。 将来,未处理的承诺拒绝将以非零退出代码终止Node.js进程。
这是我的电话。 在requestBuilder的ts描述中,它描述了使用子帐户目标时jwt是必需的。 如何检索jwt并将其传递给这里? 有没有人有关于如何从节点应用程序使用子帐户目标的文档?
var req = Candidate.requestBuilder() 。得到所有() .top(20)//仅查看排名前20位的候选人 .select(候选.FIRST_NAME,候选.LAST_NAME) 。执行({ jwt:?????, destinationName:" sfdemo" }); 返回要求 }
相关问答
- 如何使用Business Object SAP Cloud Application Studio发送电子邮件?
- 适用于SAP HANA的HANA Express 1 SP12 AWS SAP WebIDE-Builder'mtabuilder'不适用于工作区
- 如何为前端字段编写业务逻辑?
- OData参数在XSA和XSODATA文件中展开
- 500 Internal Server Error-提供了无效的HANA设置。 OData服务已禁用?
- XSA节点模块在闲置一段时间后会崩溃吗?
- SAPUPSTREAM_LINK无法正常工作? 仅在node.js(XSA)中看到旧的sap-xsjs
- HANA上的NodeJS中的PugJS
对于其他试图弄清楚这一点的人来说,几天前已经发布了有关该主题的一系列教程。
在此处。
嗨弗洛里安,
我今天刚收到您发表评论的电子邮件通知,然后我说出那个日期……我不确定这里出了什么问题,但是对于您未回答您的问题我感到非常抱歉 太长。 现在要解决的问题:
1。 我在最初的响应中没有提供此功能:您可以使用 retrieveJwt 函数。 这适用于Node的IncomingMessage抽象,因此它可以与任何类型的服务器库/框架一起使用。
2。 据我了解,您正在尝试从订户的子帐户获取目的地,但日志显示用户令牌授予失败,并显示403:禁止错误。 我以前从未经常遇到此错误,但是我可以想到两个可能的原因:a)您的订阅设置无法正常工作,这意味着XSUAA服务无法识别您要传递的JWT用户。 允许您的应用代表其访问令牌的用户,或者b)首先您没有传递正确的JWT。
很抱歉再次延迟! 我希望这仍然可以帮助您解决问题,请随时提出任何后续问题。
最好的问候,
丹尼斯
嗨弗洛里安,
我建议在这里做两件事:
a)您发布的日志的第一行提到您已设置了环境变量"目的地"。 我假设您的应用程序在CF上运行,因此manifest.yml中可能有一个条目。 如果未通过该变量找到目标,则SDK会尝试从其他地方获取目标,但通常不建议将此变量用于生产用途。
b)日志中还显示错误"未找到与目标服务的绑定"。 我假设您已经使用Extension Factory来连接S/4和SFSF系统? 在这种情况下:您当前可以通过XF连接到S/4系统,而无需使用目标服务,但是您现在无法对SFSF执行相同的操作。 因此,为了使用XF在子帐户中创建的目标,您需要将目标服务的实例和XSUAA服务都绑定到您的应用程序。
这应该可以解决您当前遇到的错误,并使您的应用可以从子帐户获取目的地。
最后,请注意jwt和子帐户:如果目标位于与应用程序运行所在的子帐户相同,则无需在此处传递JWT。 但是,如果您要编写多租户应用程序并需要从订户的子帐户获取目的地,则需要在此处传递JWT。 此处需要的JWT是XSUAA服务在用户登录到您的应用程序时(通过approuter/IdP)生成的令牌。
我同意这里缺少文档,至少在您正在查看execute函数的文档的情况下。 通常,您可以在此处找到有关用于获取目标的功能的文档: https://help.sap.com/doc/9dbcab0600b346c2b359a8c8978a45ba/1.0/en-US/modules/_sap_cloud_sdk_core.html#getdestinationfromdestinationservice
希望有帮助! 如果您还有其他问题,请随时与我们联系!
最好的问候
丹尼斯
一周热门 更多>