连接到连接到本地的订阅者子帐户目标时出错。来自提供商帐户的多租户应用程序通过连接服务和 S4 SDK api 在 Cloud Foundry 中的系统。同样的安排适用于指向另一个与 provider subaccount 连接的本地系统的目标连接。
参考 SAP 帮助,显示连接服务具有开箱即用的内置功能: https ://help.sap.com/viewer/cca91383641e40ffbe03bdc78f00f681/Cloud/en-US/9c0bdd0efc8640739c9d2fa5cfe56cbd.html
通过 S4 SDK API 从提供商子账户中运行的提供商 SAAS 应用程序访问订阅者子账户目标时出现以下错误:
完整的堆栈跟踪:
http-nio-8080-exec-6","level":"ERROR","categories":[],"msg":"Servlet.service() for servlet [dispatcherServlet] 在路径 [] 的上下文中抛出异常 [请求处理失败;嵌套异常是 com.sap.cloud.sdk.cloudplatform.connectivity.exception.DestinationAccessException:com.sap.cloud.sdk.cloudplatform.connectivity.exception.DestinationAccessException:无法获取订阅者服务实例的目的地:无法获取访问令牌目的地服务。如果您的应用程序在 Cloud Foundry 上运行,请确保绑定到目标服务和授权和信任管理 (xsuaa) 服务,并且您已正确保护您的应用程序或已将“ALLOW_MOCKED_AUTH_HEADER”环境变量设置为 true . 请注意,具有用户传播的身份验证类型(例如主体传播或 OAuth2 SAML Bearer 流)要求您保护您的应用程序,并且在使用“ALLOW_MOCKED_AUTH_HEADER”环境变量时不起作用。如果您的应用程序未在 Cloud Foundry 上运行,例如,在部署到本地容器时,请考虑声明“destinations”环境变量以配置目的地。] 根本原因","stacktrace":["com.sap.cloud. sdk.cloudplatform.security.exception.TokenRequestDeniedException:无法获取访问令牌:XSUAA 服务拒绝请求,HTTP 状态为 401(未授权)。请确保将您的应用程序正确绑定到 XSUAA 服务实例。请注意,如果您使用的服务计划不适合您的方案,也可能会出现此错误。如果您在 Cloud Foundry 上构建 SaaS 应用程序,请在创建 XSUAA 实例时选择服务计划“应用程序”。如果您正在构建应由其他应用程序使用的重用服务,请选择服务计划“broker”。","tat com.sap.cloud.sdk.cloudplatform.connectivity.TokenRequest.executeTokenRequest(TokenRequest.java:128)", "tat com.sap.cloud.sdk.cloudplatform.connectivity.TokenRequest.requestTokenWithClientCredentialsGrant(TokenRequest.java:385)","tat com.sap.cloud.sdk.cloudplatform.connectivity.XsuaaService.requestAccessToken(XsuaaService.java:156) ","tat com.sap.cloud.sdk.cloudplatform.connectivity.XsuaaService.getServiceToken(XsuaaService.
请帮忙。
谢谢,悉达多
if (TenantAccessor.getCurrentTenant().getTenantId().equals("<Subscriber tenet id>"))
{
final ErpConfigContext configContext = new ErpConfigContext("TEST_dest");
else
{
< call provider destination using the above code with the destination belonging to Provider account >
}