2012-12-19 37 views
0

JBoss ESB 4.11如何在jboss-esb中使用xslt转换创建wsproxy

Hello!

我和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>__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中做同样的事情。

回答

0

如果你想使用XSLT来转换XML的有效载荷那么相信XsltAction是你在找什么:

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

不知道这完全回答你的问题,但在任何情况下,你的用例看起来非常直截了当,所以我相信JBoss ESB会支持它,不需要自定义代码。

一个需要注意的是,如果你确实需要使用XSLT 2.0和(在你的例子一样)不XSLT 1.0,那么你就需要做一些事情,使其加载2.0 XSLT库,而不是标准的。