我从Apigee切换到WSO2 2.1但缺少一些功能。
当我的Oauth用户进行API调用时,我想添加一个额外的Header 到后端请求。例如:“X-Customer-Name:CUST_NAME
我有基于的ElasticSearch中查找“CUST_NAME”的Java代码 用户的消费者密钥&秘密。我将如何将该代码集成到其中 WSO2能够查找值并将额外的X-Customer-Name标头发送到我的后端吗?
答案 0 :(得分:0)
可以使用<class/>
介体在WSO2中介中集成/使用Java类。
为实现这一点,自定义java类可以扩展AbstractMediator类,并可以在mediate方法中实现逻辑。
创建一个新的序列,如下所示并调用自定义类,这样可以将自定义属性设置为消息上下文。
<sequence name="TokenExchange" trace="disable" xmlns="http://ws.apache.org/ns/synapse">
<class description="" name="com.customer.CustomerName"/>
<property expression="get-property('Customer-Name','custName')" name="cs" scope="default" type="STRING"/>
</sequence>
将新构建的inSequence用于API In-Flow消息中介流,并将适当的属性传递给后端。