[英]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.