Wso2 如何在esb中读取http头

Wso2 如何在esb中读取http头,wso2,wso2esb,Wso2,Wso2esb,如何将属性设置为传入http请求头的值?我尝试了一些方法(见下文),但是我的日志值都是空的,所以我显然没有正确读取头值。我真正关心的标题值是X-EMPID。使用wso2esb 4.8.1 下面是一个让我相信这会奏效的例子,但我现在还没有任何运气 <proxy xmlns="http://ws.apache.org/ns/synapse" name="getaccount2" transports="https,http" statistics="d

如何将属性设置为传入http请求头的值?我尝试了一些方法(见下文),但是我的日志值都是空的,所以我显然没有正确读取头值。我真正关心的标题值是X-EMPID。使用wso2esb 4.8.1

下面是一个让我相信这会奏效的例子,但我现在还没有任何运气

<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="getaccount2"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <property name="empid"
                   expression="get-property('transport', 'X-EMPID')"
                   scope="default"
                   type="STRING"/>
         <log level="custom">
            <property name="emp_id" expression="get-property('empid')"/>
         </log>
         <log level="custom">
            <property name="content_length"
                      expression="get-property('transport', 'Content-Length')"/>
         </log>
         <log level="custom">
            <property name="TRANSPORT_HEADERS" expression="get-property('TRANSPORT_HEADERS')"/>
         </log>

通过使用XPath变量,您可以方便地访问HTTP头,从技术上讲,HTTP头是WSO2 ESB中的传输头。读取名为
X-EMPID
的HTTP头的最简单方法是使用以下XPath:
$trp:X-EMPID
,其中
$trp
前缀表示冒号后面的部分是传输属性的名称。要记录标头值,可以使用以下日志中介:

<log level="custom">
    <property name="X-EMPID value" expression="$trp:X-EMPID" />
</log>
<property name="myProperty" expression="$trp:X-EMPID" />

该功能记录在。

顺便说一句,我正在Apache中设置X-EMPID值,并通过反向代理(使用RequestHeader)发送到ESB。我知道正在发送标头-我捕获了一个数据包,并与wireshark进行了确认。get属性('transport','X-EMPID')是获取名为'X-EMPID'的HTTP标头的好方法:如果您的属性为null,则在WSO2 ESB接收的请求中找不到此标头。在ESB_HOME/bin中,您将找到tcpmon,在WSO2前面使用它来验证请求的内容。非常感谢。我不知道这个工具-非常有用。这帮我弄清了真相。我没有代理到实际的服务端点,而是代理到管理接口,这很有效,但我猜它删除了我添加的任何头。我现在一切正常,谢谢你,卡尔佳。你可能已经猜到了,我对这件事还不熟悉。我花了相当多的时间使用数据服务服务器,但这是我第一次尝试使用esb。有很多东西要学。伟大的产品@没问题。如果我的答案帮助你做了你想做的事情,请将答案标记为已接受,以帮助其他人看到这是一条道路。这是。使用Shibboleth保护web服务。仍然需要交互式访问才能通过IdP,但可以从Javascript中使用。把所有的东西都拼在一起工作。