Wso2 如何使用中介提取http头

Wso2 如何使用中介提取http头,wso2,wso2esb,wso2-am,dss,Wso2,Wso2esb,Wso2 Am,Dss,如何提取http头,如 Authorization: ​"admin 0PN5J17HBGZHT7JJ3X82" 其中admin是用户名,0PN5J17HBGZHT7JJ3X82是密码,并将其分配给属性/变量,然后将其传递给dss服务以进行用户登录验证。据我所知,我们的API可以使用自定义序列和中介()实现这一点,但我不清楚如何提取此头并将其分配给不同的属性名,如login和password 中介标头是否可以处理此问题?或者这是使用代理服务的另一种方法 头调解器 <in>

如何提取http头,如

Authorization: ​"admin 0PN5J17HBGZHT7JJ3X82"
其中admin是用户名,0PN5J17HBGZHT7JJ3X82是密码,并将其分配给属性/变量,然后将其传递给dss服务以进行用户登录验证。据我所知,我们的API可以使用自定义序列和中介()实现这一点,但我不清楚如何提取此头并将其分配给不同的属性名,如login和password

中介标头是否可以处理此问题?或者这是使用代理服务的另一种方法

头调解器

<in>
    <header name="Authorization" value="admin 0PN5J17HBGZHT7JJ3X82" scope="transport"/>
    <send>
        <endpoint name="people">
            <address uri="http://localhost:9443/testapi/" format="get"/>
        </endpoint>
    </send>
</in>
<out>
    <send/>
</out>

代理服务

<proxy name="adminServiceProxy" transports="https http"
          startOnLoad="true" trace="disable">
      <description/>
      <target>
         <endpoint>
            <address uri="https://localhost:9443/testapi"/>
         </endpoint>
         <inSequence>
            <property name="Authorization"
                      expression="fn:concat('Basic ','admin:0PN5J17HBGZHT7JJ3X82')"
                      scope="transport"/>
         </inSequence>
         <outSequence>
          <send/>
         </outSequence>
      </target>
   </proxy>


谢谢你

你可以这样提取

 <property name="AuthHeader" expression="$trp:Authorization"/>

然后记录它,查看您正在检索的内容

<log>
<property name =" Authheder value" expression=get-property('AuthHeader')/>
</log>

然后按照您在代理配置中指出的方式构造基本身份验证标头。
下面是一个示例,说明了如何从序列中检索各种信息

非常感谢!您可以定义这样的中介序列并将其存储在注册表中。发布API时,请选择正确的序列。或者,是的,您可以在代理服务中定义您的复杂序列,并从APIManager调用该代理服务作为您的端点。在传递标头并在服务中使用它们之后,我还有一个问题,是否有方法获取响应并将其分配给可在中介序列中使用的标头?