在我配置一個記錄器以返回客戶端IP地址的過程中,我在configuration.xml文件中實現了發佈wsdl的流。這是我的代碼:如何將記錄器消息值傳遞給mule中的.xslt文件
<logger message="#[groovy:message.getInboundProperty('MULE_REMOTE_CLIENT_ADDRESS')]" level="INFO" doc:name="Logger"/>
現在我想轉移(通過)IP地址到我的.xslt文件?我該怎麼做?
在我配置一個記錄器以返回客戶端IP地址的過程中,我在configuration.xml文件中實現了發佈wsdl的流。這是我的代碼:如何將記錄器消息值傳遞給mule中的.xslt文件
<logger message="#[groovy:message.getInboundProperty('MULE_REMOTE_CLIENT_ADDRESS')]" level="INFO" doc:name="Logger"/>
現在我想轉移(通過)IP地址到我的.xslt文件?我該怎麼做?
如果你使用的騾子3.3,你可以利用MEL和簡化記錄聲明是這樣的:
<logger message="#[message.inboundProperties['MULE_REMOTE_CLIENT_ADDRESS']]" level="INFO" doc:name="Logger"/>
要通過IP地址,XSLT,它存儲在一個變量和傳遞。
<set-variable variableName="remoteClientAddress" value = "#[message.inboundProperties['MULE_REMOTE_CLIENT_ADDRESS']]"/>
顯示與記錄
<logger message="Remote client address is------> #[remoteClientAddress]" level="INFO" doc:name="Logger"/>
它傳遞給XSLT
爲:
<xm:xslt-transformer xsl-file="xsltFileName.xslt">
<xm:context-property key="remoteClientAddress" value="#[remoteClientAddress]"/>
</xm:xslt-transformer>
在你XSLT
,聲明PARAM變量
<xsl:param name="remoteClientAddress" />
,然後使用這個變量作爲
<xsl:value-of select="$remoteClientAddress" />
對於與提取您的IP地址正確使用XSLT的功能,如
substring-before() , substring-after() and tokenize() (in XSLT 2.0)
感謝您的答覆這個問題,但我的$ remoteClientAddress格式是這樣的:/127.0.0.1:51708怎麼能我省略/之前的IP地址和:51708從我的字符串結束? – brelian
您可能希望將其作爲單獨的問題進行詳細描述。 –
在XSLT中使用字符串處理器 – user1760178