使用Mule ESB附件发送肥皂

时间:2013-12-12 12:59:41

标签: httpclient mule axis multipartform-data multipart

我使用的是Mule ESB 1.3版,作为SOAP引擎,它有AXIS1.4 embedded.Mule使用下面的代码将流作为ws附件发送。我检查过他们仍然在新版本中使用它。

                File temp = File.createTempFile("soap", ".tmp");
            temp.deleteOnExit(); // TODO cleanup files earlier (IOUtils
                                    // has a file tracker)
            FileOutputStream fos = new FileOutputStream(temp);
            msgContext.getRequestMessage().writeTo(fos);
            fos.close();
            contentLength = (int)temp.length();
            payload = new FileInputStream(temp);

此处带附件的soap消息的内容保存在文件中,此文件的句柄将提供给系统的其余部分。我没有得到这背后的逻辑。为什么不使用

  

的javax.activation.DataHandler

输入流,而是首先保存然后从文件中读取消息。据我所知,Axis1.4本身并没有那样工作。我在这里错过了什么吗?

经过一些修改以制作mule发送文件后,我遇到了轴和mule客户端生成的消息之间的差异。除了这行生成的消息是相同的。 Mule生成此标题:

  

Content-Type:multipart / related; type =“application / xop + xml”

Axis生成此标题是正确的:

  

Content-Type:multipart / related; type =“application / xop + xml”;开始= “< 2F4952A019F62AB6704A0C06DB5E8AA1>” 中; start-info =“text / xml; charset = utf-8”; .boundary = “---- = _ Part_0_1836994030.1387284330292”

造成这种差异的原因是什么?

0 个答案:

没有答案