0

JBoss ESB 4.11

你好!

我使用 JBoss ESB 4.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 中创建正确的配置,当我使用 java 实现时,这两个文件工作正常,但我可以在 jboss esb 中做同样的事情。

4

1 回答 1

0

如果您想使用 XSLT 来转换 XML 有效负载,那么我相信 XsltAction 就是您正在寻找的:

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

Not sure that this fully answers your question but in any case, your use case seems very straight forward so I believe JBoss ESB will support it right out of the box without the need for custom code.

One caveat is if you really need to use XSLT 2.0 and not XSLT 1.0 (like in your example), then you will need to do something to make it load your 2.0 XSLT library instead of the standard.

于 2012-12-22T09:14:36.950 回答