0

MULEサーバー3.3.0CEの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で、param変数を宣言しました

<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アドレスの前に/は必要ありません。IPアドレスの最後に:51708があります。 。

muleのConfiguration.xmlでこれらの余分な部分を削除してから、ip-addressを.xsltファイルに送信するにはどうすればよいですか?

4

1 に答える 1

2

私はMuleについて何も知りませんが、あなたはこれを行うことができます:

<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 に答える