WSO2 EI-如何参数化OAuth2默认介体

时间:2020-03-26 10:17:45

标签: wso2 wso2esb wso2is wso2ei

我正在WSO2 EI 6.6中使用OAuth2介体,并且我希望将此介体参数设置为参数:用户,传递,URL。我无法通过属性设置此值。

这是此中介器的xml。

   <property name="ISurl" value="https://localhost:9445/services/"/>
         <property name="ISuser" value="admin"/>
         <property name="ISpass" value="admin"/>
         <oauthService remoteServiceUrl="$ctx:ISurl/" username="$ISuser" password="$ctx:ISpass"/>

显示的错误是

Caused by: org.apache.axis2.AxisFault: The system cannot infer the transport information from the $ctx:ISurl/OAuth2TokenValidationService URL.
        at org.apache.axis2.description.ClientUtils.inferOutTransport(ClientUtils.java:86)

是否可以通过参数化此参数来避免在编译时进行代码自定义之类的选择?

1 个答案:

答案 0 :(得分:0)

由于这是类介体的实现,因此它应该具有表达式支持[1]。因此,您应该能够使用运行时属性来参数化此参数。像下面这样。

<class name="org.soasecurity.oauth2.scope.validator.OAuth2ScopeMediator">
            <property expression="$ctx:username" value="user"></property>
</class>

[1]-https://docs.wso2.com/display/EI660/Class+Mediator