点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 在我的多租户CAP应用程...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 在我的多租户CAP应用程...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
在我的多租户CAP应用程序中,从客户子帐户通过Cloud SDK访问S/4HANA Cloud时出现错误。 从我的提供程序访问时,它工作正常。 我的情况如下:
也许自己的s/4hana云系统与提供商子帐户可能有点怪异,但这只是出于测试目的。
访问https://提供者- myapp-aa.cfapps.eu10.hana.ondemand.com/mobile/getData(cardTemplate =''),成功访问了自己的s4hc并检索了数据,但从 消费者,https://消费者- myapp-aa.cfapps.eu10.hana.ondemand.com/mobile/getData(cardTemplate =''),在提供程序应用中出现以下错误:
2020-04-15T09:46:27.639 + 0000 [APP/PROC/WEB/0] OUT错误,调用api错误:找不到名称为" s4n103C1"的目的地! 无法执行请求。 2020-04-15T09:46:27.639 + 0000 [APP/PROC/WEB/0]在Object.errorWithCause(/home/vcap/app/node_modules/@ sap/cloud-sdk-core/node_modules/@ sap/cloud -sdk-util/dist/error.js:14:20) 2020-04-15T09:46:27.639 + 0000 [APP/PROC/WEB/0]在/home/vcap/app/node_modules/@ sap/cloud-sdk-core/dist/request-builder/request-builder- base.js:125:78 2020-04-15T09:46:27.639 + 0000 [APP/PROC/WEB/0]在process._tickCallback处退出(内部/进程/next_tick.js:68:7) 2020-04-15T09:46:27.639 + 0000 [APP/PROC/WEB/0] OUT原因: 2020-04-15T09:46:27.639 + 0000 [APP/PROC/WEB/0] OUT错误:FetchTokenError:客户端凭据授予失败! 请求失败,状态码为401 2020-04-15T09:46:27.639 + 0000 [APP/PROC/WEB/0]在Object.errorWithCause(/home/vcap/app/node_modules/@ sap/cloud-sdk-core/node_modules/@ sap/cloud -sdk-util/dist/error.js:14:20) 2020-04-15T09:46:27.639 + 0000 [APP/PROC/WEB/0]在accessTokenError(/home/vcap/app/node_modules/@ sap/cloud-sdk-core/dist/scp-cf/xsuaa- service.js:166:29) 2020-04-15T09:46:27.639 + 0000 [APP/PROC/WEB/0]在/home/vcap/app/node_modules/@ sap/cloud-sdk-core/dist/scp-cf/xsuaa-service处输出。 js:43:57 2020-04-15T09:46:27.639 + 0000 [APP/PROC/WEB/0]在process._tickCallback处退出(内部/进程/next_tick.js:68:7) 2020-04-15T09:46:27.639 + 0000 [APP/PROC/WEB/0] OUT原因: 2020-04-15T09:46:27.639 + 0000 [APP/PROC/WEB/0] OUT错误:请求失败,状态码为401 2020-04-15T09:46:27.639 + 0000 [APP/PROC/WEB/0]在createError处退出(/home/vcap/app/node_modules/axios/lib/core/createError.js:16:15) 2020-04-15T09:46:27.639 + 0000 [APP/PROC/WEB/0]在解决时退出(/home/vcap/app/node_modules/axios/lib/core/settle.js:17:12) 2020-04-15T09:46:27.639 + 0000 [APP/PROC/WEB/0]在IncomingMessage.handleStreamEnd(/home/vcap/app/node_modules/axios/lib/adapters/http.js:237:11)处退出 2020-04-15T09:46:27.639 + 0000 [APP/PROC/WEB/0]在IncomingMessage.emit处退出(events.js:203:15) 2020-04-15T09:46:27.639 + 0000 [APP/PROC/WEB/0]在endReadableNT处输出(_stream_visible.js:1145:12) 2020-04-15T09:46:27.639 + 0000 [APP/PROC/WEB/0]在process._tickCallback退出(内部/进程/next_tick.js:63:19)
目标s4n103C1是在提供商子帐户中创建的,并且我确保已正确填写字段。 我尝试在消费者子帐户中创建目标,但遇到了同样的错误。
让我在这里说一下,从消费者子帐户访问其他CAP服务(即https://消费者- myapp-aa.cfapps.eu10.hana.ondemand.com/mobile/books )工作正常,访问后端时发生错误 通过Cloud SDK访问目的地。
引发错误的源代码是:
var cloud_sdk_core_1 = require(" @ sap/cloud-sdk-core"); const {serializeEntity} = require(" @ sap/cloud-sdk-core"); //构建选择字段数组 .... var jwt = resolveJwt(req ._。req) //调用api const salesOrder =等待SalesOrder .requestBuilder() 。得到所有() .select(... selectFields) .filter(过滤器) .top(顶部) .execute({destinationName:destination,jwt:jwt}) .then(结果=> result.map(so => serializeEntity(so,SalesOrder))) .catch(原因=> { console.log(``调用api时出错,原因) })
这是我的mta.yaml文件:
_schema版本:2.0.0 ID:myapp 版本:1.0.0 模块: -名称:myapp-db 类型:hdb 路径:db 参数: 记忆体:256M 磁盘配额:256M 要求: -名称:myapp-db-hdi-container -名称:myapp-srv 类型:nodejs 路径:srv 参数: 内存:512M 磁盘配额:512M 提供: -名称:srv_api 特性: 网址:$ {default-url} 要求: -名称:myapp-db-hdi-container -名称:myapp-uaa -名称:myapp_destination -名称:myapp_connectivity 特性: SAP_JWT_TRUST_ACL: -客户编号:" *" identityzone:" *" 调试:"假" -名称:myapp-ui 类型:nodejs 路径:应用 参数: 记忆体:256M 磁盘配额:256M 要求: -名称:myapp-uaa -名称:srv_api 组:目的地 特性: forwardAuthToken:true strictSSL:true 名称:srv_api 网址:〜{url} 特性: SAP_JWT_TRUST_ACL: -客户编号:" *" identityzone:" *" TENANT_HOST_PATTERN:" ^(。*)-myapp-ui.cfapps.eu10.hana.ondemand.com" 资源: -名称:myapp-db-hdi-container 类型:com.sap.xs.hdi-container 特性: hdi-container-name:$ {服务名称} -名称:myapp-uaa 类型:org.cloudfoundry.managed-service 参数: 服务计划:应用 服务:xsuaa 路径:./xs-security.json 共享:真实 配置: xsappname:myapp-$ {space} -名称:myapp_destination 类型:org.cloudfoundry.managed-service 参数: 服务计划:精简版 服务:目的地 -名称:myapp_connectivity 类型:org.cloudfoundry.managed-service 参数: 服务计划:精简版 服务:连通性
有关此问题的任何线索吗?
谢谢。
最诚挚的问候,
马克
(118.8 kB)
您好,Simon,感谢您分享这些详尽的细节。 我想我第一次尝试时忘记了重新创建某些服务,因为配置如您所解释。 现在它就像一种魅力。
因此,总而言之,这两种方法都可以正常工作,但是这种基于Approuter的方法不需要任何编码,并且更易于实现。
感谢您的支持西蒙·珀斯托弗(Simon Perstorfer)和丹尼斯·亨普芬!
最诚挚的问候,
马克
一周热门 更多>