簡體   English   中英

WSO2 ESB打印所有TRANSPORT_HEADERS

[英]WSO2 ESB print all TRANSPORT_HEADERS

我可以在序列中使用以下代碼在WSO2 ESB中打印各個傳輸頭:

<log level="custom">
    <property name="oneHeader" expression="$trp:FILE_NAME"/>
</log>

但是我需要打印所有可用的傳輸屬性。 有一個名為“ [TRANSPORT_HEADERS] [1]”的axis2屬性,但是在打印此屬性時,該屬性始終為空。

<log level="custom">
    <property name="allHeaders" expression="get-property('axis2','TRANSPORT_HEADERS')"/>
</log>

因為我不知道所有標題,所以我需要知道如何打印所有傳輸標題?

我不知道如何打印所有傳輸屬性,但是如果您按順序設置斷點並按照https://docs.wso2.com/display/EI611/Debugging+Mediation中的說明啟用調試,則可以找到所有“變量”標簽中的運輸屬性。 變量標簽

我們無法使用屬性中介器記錄此屬性,因為這是axis2-transports中的內部JAVA映射。 因此,我們可能需要為此使用類調解器。

以下是一個示例。

您可以將類介體jar直接放置在EI_HOME / lib或ESB_HOME / repository / components / lib中,並使用以下配置

<class name="org.sample.LogTransportHeaders"/>

將以下內容添加到log4j.properties文件后,在代理或API中

log4j.logger.org.sample.LogTransportHeaders=INFO

請參閱此處以獲取更多詳細信息: https : //medium.com/@nirothipanram/wso2-ei-print-all-transport-headers-12aabb4027cc

通過使用XPath變量,您可以方便地訪問HTTP標頭,從技術上講,它是WSO2 ESB中的傳輸標頭。 讀取名為X-EMPID的HTTP標頭的最簡單方法是使用以下XPath:$ trp:X-EMPID,其中$ trp前綴表示冒號后面的部分是傳輸屬性的名稱。 要記錄頭值,可以使用以下日志介體:

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

要將屬性myProperty設置為X-EMPID HTTP標頭(已存儲在傳輸屬性中)的值,可以使用屬性中介器:

<property name="myProperty" expression="$trp:X-EMPID" />

該功能記錄在WSO2站點上

更多

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM