2012-12-19 22 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庫,而不是標準的。