2012-02-13 84 views
1

我有一个需要multipart/form-data的后端进程。我想让骡子调用它并返回结果。这是一个简单的流程,我已经做好了。但是,出站端点不会将消息转换为多部分/表单数据。后端过程变得......,最初发布在体内。有mule调用http进程,期望multipart/form-data

我在做什么错?

<flow name="testFlow"> 
    <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" mimeType="text/plain" contentType="text/plain" /> 
    <message-properties-transformer> 
     <add-message-property key="f" value="#[payload:java.lang.String]"/> 
    </message-properties-transformer> 
    <http:outbound-endpoint exchange-pattern="request-response" host="x12backend" port="9877" path="dummy.php" contentType="multipart/form-data"/> 
</flow> 

回答

2

只有具有附件的邮件被自动变成多部分请求的实体,因此最适合你将是:

  • 移动消息有效负载到出站附件:附件名称将被用于所述零件名称。为此,请使用set-attachmentset-payload消息处理器或Groovy变换器。
  • 将消息有效载荷org.mule.transport.NullPayload(与set-payload#[null]表达,否则它会被张贴在一个名为“有效载荷”部分的第二时间。
+0

感谢,如果任何想法骡ESB将有一个更标准的方式来做到这一点? – Nikos 2013-08-05 10:28:51

+0

是的,我检查了我的答案,建议使用标准的消息处理器,而不是Groovy。 – 2013-08-05 15:42:19