Mule避免在db select语句后下载文件

时间:2015-06-02 20:57:57

标签: mule

<flow name="testFlow1" doc:name="testFlow1">
   <http:inbound-endpoint exchange-pattern="request-response" host="${hostname}" port="${port}" path="dbtest" doc:name="HTTP"/>
    <db:select config-ref="PostgreSQL" doc:name="Database">
        <db:parameterized-query><![CDATA[SELECT id, name, int_status FROM test]]></db:parameterized-query>
    </db:select>
<!--line 6 -->           <!-- <set-payload value="==no downlaod=#[payload]" doc:name="Set Payload"/>-->
        </flow>

当我使用url:host:port / dbtest运行应用程序时,我正在下载文件。我怎样才能避免下载文件?如果我启用第6行,我就不会下载文件,而是显示在浏览器中。

2 个答案:

答案 0 :(得分:1)

由于您已使用HTTP入站'exchange-pattern'作为request-response。启用setpayload(第6行)后,它将返回brower。如果您不想这样做,请将HTTP交换模式设为one- way

答案 1 :(得分:0)

我通过添加'Object-to-String'变换器来尝试流程。它对我有用。该文件未下载。这是流程。

<flow name="sampleflow"> 
<http:listener config-ref="HTTP_Listener_Configuration" path="/"doc:name="HTTP></http:listener>
<db:select config-ref="MySQL_Configuration" doc:name="Database">
<db:parameterized-query><![CDATA[select id,name,designation,address from myrest]]></db:parameterized-query>
</db:select>
<object-to-string-transformer doc:name="Object to String"/>
</flow> 
</mule>