0

在 MULE 服务器 3.3.0 CE 的 configuration.xml 中,我将 MULE_REMOTE_CLIENT_ADDRESS 传递给 .xslt 文件,下面我复制了我的代码:

    <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']]"/>

将其传递给 XSLT:

<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" />

但在 configuration.xml 文件中我使用这个:

<logger message="Remote client address is------> #[remoteClientAddress]" level="INFO" doc:name="Logger"/>

用于检查 IP 地址,但在我的 MULE 控制台中,我看到了以下语句:/127.0.0.1:51708 而我需要127.0.0.1我不需要/在 ip-address 之前和:51708在我的 ip-address 末尾.

如何在 mule 中删除 Configuration.xml 中的这些额外部分,然后将 ip-address 发送到 .xslt 文件?

4

1 回答 1

2

我对骡子一无所知,但你可以这样做:

<xsl:param  name="remoteClientAddress" />
<xsl:variable name="remoteClientAddressTrimmed"
       select="substring-before(substring-after($remoteClientAddress, '/'), ':')" />

然后稍后

<xsl:value-of select="$remoteClientAddressTrimmed" />
于 2013-02-06T05:27:17.927 回答