Mule并不总是在出站HTTP端点上发送数据?

时间:2013-03-20 22:21:25

标签: http soap imap mule

我在Mule相当新,并试图让一个简单的流程工作。基本的想法是从一个imap框中获取电子邮件,获取电子邮件的正文(文本),将其放入xml / soap消息并发布到soap webservice。

我已经设置了流量,它似乎适用于大约50%的邮件。如果消息很短,一切都按预期工作;如果邮件有点长或包含附件,它会部分工作。

这是我的流程(仅相关部分):

<imap:inbound-endpoint host="mailserver" port="143"
    user="me" password="mypassword" responseTimeout="10000" doc:name="IMAP"
    connector-ref="imap">

    <remove-attachment attachmentName="*" />

</imap:inbound-endpoint>
<remove-attachment attachmentName="*" doc:name="Attachment" />

<logger level="INFO" doc:name="Logger" />

<set-variable variableName="mailBody" value="#[payload]"
    doc:name="Variable" />

<mulexml:object-to-xml-transformer
    doc:name="Object to XML" />
<mulexml:xslt-transformer maxIdleTransformers="2"
    maxActiveTransformers="5" xsl-file="submit_to_wfp.xsl" doc:name="XSLT"
    ignoreBadInput="true">
    <mulexml:context-property key="mailbody"
        value="#[mailBody]" />
</mulexml:xslt-transformer>

<object-to-string-transformer doc:name="Object to String"
    encoding="UTF-8" ignoreBadInput="true" mimeType="text/xml" />

<message-properties-transformer
    doc:name="Message Properties" overwrite="true" encoding="UTF-8"
    mimeType="text/xml">
    <add-message-property key="content-Type" value="text/xml" />
</message-properties-transformer>

<!-- <file:outbound-endpoint path="/Users/me" outputPattern="xml.txt" responseTimeout="10000" 
    doc:name="File"/> -->
<http:outbound-endpoint exchange-pattern="request-response"
    host="localhost" port="8082" doc:name="HTTP" contentType="text/xml"
    path="wfp/services/wfp" encoding="UTF-8" mimeType="text/xml"
    responseTimeout="500000" />

奇怪的是,如果我启用了出站文件端点而不是HTTP,一切正常,流程会产生完美的XML文件。如果消息较长(由于大量文本和/或附件),Mule会因为没有通过HTTP端点发送任何数据而失败(日志告诉我它已被触发)。

我应该在哪儿看?使用Mule 3.4CE btw。

谢谢!

0 个答案:

没有答案