JBoss企业服务总线4.11
你好!
我使用的是XSLTESB4.11,我们正在创建webservice代理,我们需要使用JBoss转换来转换有效负载消息。但是我可以找到任何可以使用的函数示例。
这是原始消息的一个示例
<?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中做同样的事情。
发布于 2012-12-22 17:14:37
如果您想使用XSLT来转换XML有效负载,那么我相信XsltAction就是您正在寻找的:
http://docs.jboss.org/jbossesb/docs/4.11/manuals/html/Programmers_Guide/index.html#OOB-transformers-xsltaction
我不确定这是否完全回答了您的问题,但无论如何,您的用例似乎非常简单,所以我相信JBoss企业服务总线将开箱即用地支持它,而不需要自定义代码。
需要注意的是,如果您确实需要使用XSLT 2.0而不是XSLT 1.0 (如您的示例所示),那么您需要做些什么来使其加载您的2.0 XSLT库而不是标准的XSLT库。
https://stackoverflow.com/questions/13958565
复制相似问题