0

JBoss ESB 4.11

こんにちは!

私はJBossESB4.11を使用しており、Webサービスプロキシを作成しており、xslt変換を使用してペイロードメッセージを変換する必要があります。しかし、使用する機能的な例を見つけることができます。

これは元のメッセージの例です

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cim:ESRGERAL xmlns:cim="http://iec.ch/TC57/2007/profile#">
<cim:Terminal>
<cim:mRID>_012345_term</cim:mRID>
<cim:aliasName>term01</cim:aliasName>
<cim:name>term01</cim:name>

これはxsltファイルです

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" encoding="utf-8" indent="yes"/>
<xsl:template match="*">
<ESRGERAL xmlns:cim="http://iec.ch/TC57/2007/profile#">
<xsl:for-each select="//cim:Terminal">
<Terminal>
<mRID>
<xsl:value-of select="cim:mRID"/>
</mRID>
<name>
<xsl:value-of select="cim:aliasName"/>
</name>
</Terminal>
</xsl:for-each>
</cim:ESRGERAL>
</xsl:template>
</xsl:stylesheet>

jboss-esb.xmlで正しい設定を作成するのを手伝う必要があります。この2つのファイルは、Java実装を使用すると正常に機能しますが、jbossesbでも同じように作成できます。

4

1 に答える 1

0

XML ペイロードの変換に XSLT を使用する場合は、XsltAction が探しているものだと思います。

http://docs.jboss.org/jbossesb/docs/4.11/manuals/html/Programmers_Guide/index.html#OOB-transformers-xsltaction

これがあなたの質問に完全に答えているかどうかはわかりませんが、いずれにせよ、あなたのユースケースは非常に単純であるように見えるので、JBoss ESB はカスタムコードを必要とせずにすぐにサポートできると思います.

1 つの注意点は、XSLT 1.0 ではなく XSLT 2.0 を本当に使用する必要がある場合 (例のように)、標準の代わりに 2.0 XSLT ライブラリをロードするために何かをする必要があることです。

于 2012-12-22T09:14:36.950 に答える