没有在xslt变压器mule esb中获得价值

时间:2016-02-11 09:47:20

标签: xslt mule mule-studio

我在使用xslt变压器时面临问题.. 作为输入我从微软连接器获得xml响应。我使用xslt转换器转换为另一种形式的xml。 但问题是我没有从特定节点获取值..

以下是我的流程......这个流程有什么问题

 <flow name="flow1">
        <http:listener config-ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/>
        <component class="org.com.test" doc:name="Java"/>
        <dynamicsax:invoke-document-service-operation config-ref="Microsoft" serviceAndSoapActionUri="XXXXX" doc:name="Microsoft"/>
        <mulexml:dom-to-xml-transformer mimeType="application/xml" doc:name="DOM to XML"/>
        <mulexml:xslt-transformer mimeType="application/xml" xsl-file="src/main/resources/demo.xslt" maxIdleTransformers="2" maxActiveTransformers="5" doc:name="XSLT"/>
        <logger message="--&gt; #[payload]" level="INFO" doc:name="Logger"/>
        <file:outbound-endpoint path="PurchaseOrder" outputPattern="test.xml" responseTimeout="10000" doc:name="File"/>

    </flow>

输出

<?xml version="1.0" encoding="UTF-8"?>
<type>
   <id />
   <name />
</type>

我没有得到价值..

如果我使用File作为源,那么我获得了成功输出..如果我使用下面的流程然后运行

<flow name="flow2">
        <file:inbound-endpoint path="Input" moveToDirectory="Backup" responseTimeout="10000" doc:name="File"/>
        <mulexml:xslt-transformer xsl-file="src/main/resources/demo.xslt" maxIdleTransformers="2" maxActiveTransformers="5" doc:name="XSLT"/>
        <file:outbound-endpoint path="Output" outputPattern="test.xml" responseTimeout="10000" doc:name="File"/>
    </flow>

输出

<?xml version="1.0" encoding="UTF-8"?>
<type>
   <id>1</id>
   <name>test</name>
</type>

第一流有什么问题..请帮助解决这个问题。我需要执行第一个流程..

1 个答案:

答案 0 :(得分:0)

确保您的dom-to-xml转换器将预期数据返回为xslt required。