Я пишу мул приложение, которое реализует некоторые веб-сервисы, используя Джерси. Я хотел бы загрузить файл. Я написал следующий скелет
@POST
@Path("/getHtml")
@Consumes("multipart/form-data")
@Produces("text/plain")
public String getSummaryHtml(
@FormDataParam("payload") String junk,
@FormDataParam("x12file") InputStream file
) {
LOG.info("called getSummaryHtml");
return "got";
}
Если два параметра FormDataParam закомментированы, я могу свернуться на сервер и получить ожидаемый ответ. С параметрами, не закомментированными, следующий curl (тот же, который работает ранее) возвращает мне 400 ошибок в ответ.
curl -v -X POST --form x12file=@MULE-README.txt --form payload=junk http://localhost:8080/jersey/X12ToSummaryHtml/getHtml/
* About to connect() to localhost port 8080 (#0)
* Trying 127.0.0.1... connected
* Connected to localhost (127.0.0.1) port 8080 (#0)
> POST /jersey/X12ToSummaryHtml/getHtml/ HTTP/1.1
> User-Agent: curl/7.21.3 (i386-redhat-linux-gnu) libcurl/7.21.3 NSS/3.12.10.0 zlib/1.2.5 libidn/1.19 libssh2/1.2.7
> Host: localhost:8080
> Accept: */*
> Content-Length: 2706
> Expect: 100-continue
> Content-Type: multipart/form-data; boundary=----------------------------55b24ac88245
>
< HTTP/1.1 100 Continue
< Content-Type: text/plain
< Content-Length: 0
< Connection: close
< HTTP/1.1 400 Bad Request
< Content-Type: multipart/form-data; boundary=----------------------------55b24ac88245
< Date: Sat, 25 Jun 2011 01:29:10 MDT
< Server: Mule Core/3.1.1
< Expires: Sat, 25 Jun 2011 01:29:10 MDT
< http.status: 400
< MULE_ENCODING: UTF-8
< Transfer-Encoding: chunked
< Connection: close
<
* Closing connection #0
Что мне нужно сделать, чтобы успешно отправить файл в этот код и обработать его?