0

私は Mule でかなり新しく、単純なフローを機能させようとしています。基本的な考え方は、imap ボックスから電子メールを取得し、電子メールの本文 (テキスト) を取得し、それを xml / soap メッセージに入れて、soap Web サービスに投稿することです。

フローをセットアップしましたが、約 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 を使用しています。

ありがとう!

4

0 に答える 0