在configuration.xml文件中,我实现了一个用于发布wsdl的流程,在我放置一个返回客户端IP地址的记录器的过程中。这是我的代码:
<logger message="#[groovy:message.getInboundProperty('MULE_REMOTE_CLIENT_ADDRESS')]" level="INFO" doc:name="Logger"/>
现在我想将(传递)ip地址传输到我的.xslt文件?我该怎么办?
答案 0 :(得分:1)
如果您使用的是Mule 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
as:
<xm:xslt-transformer xsl-file="xsltFileName.xslt">
<xm:context-property key="remoteClientAddress" value="#[remoteClientAddress]"/>
</xm:xslt-transformer>
在XSLT
中,声明一个参数变量
<xsl:param name="remoteClientAddress" />
然后将此变量用作
<xsl:value-of select="$remoteClientAddress" />
答案 1 :(得分:0)
对于与正确提取IP地址相关的问题,请使用XSLT函数,如
substring-before() , substring-after() and tokenize() ( in XSLT 2.0)