如何使用WSO2 API Manager在租户中将租户设置为标头

时间:2015-08-18 15:01:20

标签: wso2 wso2carbon wso2-am

我有一个API,要求租户作为标题。

如果我按顺序创建自定义:

<sequence name="WSO2AM--Ext--In">
    <header
       name="X-Tenant-Id"
       scope="transport"
       action="set"
       expression="???????????????????"
    />
</sequence>

有没有我可以用来实现这个目的的表达式?或者我应该创建一个per-API中介来设置它?

PS: 看一下WSO2源代码(CarbonTenantInfoConfigurator.java),我发现这个片段可以作为提示:

PrivilegedCarbonContext cc = PrivilegedCarbonContext.getThreadLocalCarbonContext();
String tenantDomain = cc.getTenantDomain();
int tenantId = cc.getTenantId();
messageContext.setProperty("tenant.info.domain", tenantDomain);
messageContext.setProperty("tenant.info.id", tenantId);

但我不知道如何在自定义序列中访问这些属性。

1 个答案:

答案 0 :(得分:0)

如代码所示,这些设置为synapse MessageContext。您可以使用以下表达式检索这些属性。

GET-属性( 'tenant.info.domain')

GET-属性( 'tenant.info.id')

由于

Tishan