如何在多流程应用程序中从客户的子帐户获取订户的目的地配置

2020-09-04 02:37发布

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

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


我是多用途应用程序的新手。情况是我有一个在SCP上运行的多用途应用程序。 一些客户将订阅我的应用程序,他们将为外部系统定义他们自己的目的地。我已经设置了can-connector。另一件事是我的应用程序没有请求上下文,它仅基于计划任务。

如何从订户的子帐户获取目标配置?

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

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


我是多用途应用程序的新手。情况是我有一个在SCP上运行的多用途应用程序。 一些客户将订阅我的应用程序,他们将为外部系统定义他们自己的目的地。我已经设置了can-connector。另一件事是我的应用程序没有请求上下文,它仅基于计划任务。

如何从订户的子帐户获取目标配置?

付费偷看设置
发送
1条回答
jovirus
1楼-- · 2020-09-04 02:59

您好,宗科

尝试使用以下代码段:

 public void runOnTenant(String accountId,String destinationName)
 引发NamingException,TenantAlreadySetException,InvalidTenantException,Exception {

//获取调用此方法的提供者帐户的上下文。
 InitialContext ctx = new InitialContext();
 上下文hostContext =(Context)ctx.lookup(" java:comp/env");
 TenantContext tenantHostContext =(TenantContext)hostContext.lookup(" TenantContext");

//获取所有与提供商帐户"绑定"的已订阅租户
 for(Tenant tenant:tenantHostContext.getSubscribedTenants()){

//找到要在其中运行代码的租户
 如果(tenant.getAccount()。getId()。equals(accountId)){

//在租户下执行可调用对象
 tenantHostContext.execute(tenant.getId(),新的Callable (){
 @Override
 公共字符串call(){

//查找连接配置API" connectivityConfiguration"
 上下文ctx;
 尝试{
 ctx = new InitialContext();
 ConnectivityConfiguration配置=(ConnectivityConfiguration)ctx.lookup(" java:comp/env/connectivityConfiguration");
//获取" myDestinationName"的目标配置
 DestinationConfiguration destConfiguration = configuration.getConfiguration(destinationName);

//在这里使用目的地
 destConfiguration.getProperty(" Authentication");


 } catch(NamingException e){
 返回"执行失败:" + e.getCause();
 }

 返回"执行成功";
 }
 });
 打破;
 }
 }


 }
 

最好的问候,
伊万

一周热门 更多>