【问题标题】:File Upload Jersey Multipart Not Working in MULE 3.5.0文件上传 Jersey Multipart 在 MULE 3.5.0 中不起作用
【发布时间】:2014-09-08 10:44:07
【问题描述】:

我尝试使用此this example 创建文件上传功能。但是这个例子在 mule 3.5.0 中不起作用,给出 400 BAD REQUEST 错误。请注意,我在构建路径中包含 jersey-multipart-1.6 和 mimepull-1.6 jar。这是代码

@POST
@Path("/upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadFile(
    @FormDataParam("file") InputStream uploadedInputStream,
    @FormDataParam("file") FormDataContentDisposition fileDetail) {

    String uploadedFileLocation = "D://" + fileDetail.getFileName();

    // save it
    writeToFile(uploadedInputStream, uploadedFileLocation);

    String output = "File uploaded to : " + uploadedFileLocation;

    return Response.status(200).entity(output).build();
}

没有错误或异常打印在 mule 侧。我认为该请求甚至没有达到组件。此代码在 mule 3.4 中运行。

请帮帮我。

【问题讨论】:

    标签: jersey mule esb


    【解决方案1】:

    在 Mule 3.5 中,http 传输的默认消息工厂更改为 HttpMultipartMuleMessageFactory。在 Mule 3.4 中,这是 HttpMuleMessageFactory。

    解决方案:

    定义一个http连接器并覆盖messageFactory,如下:

    <http:connector name="http">
        <service-overrides messageFactory="org.mule.transport.http.HttpMuleMessageFactory" />
    </http:connector>
    

    从您的 http 入站端点引用此连接器。

    【讨论】:

    • 在 Grails 中我们在哪里添加这些东西?
    猜你喜欢
    • 2014-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    • 2014-04-03
    • 2017-10-03
    相关资源
    最近更新 更多