[
https://issues.apache.org/jira/browse/CXF-3399?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sergey Beryozkin updated CXF-3399:
----------------------------------
Component/s: (was: WS-* Components)
JAX-RS
Thanks for opening this issue.
At the moment CXF JAX-RS does not support writing multipart/form-data payloads.
Can you please narrow Produces to @Produces({"multipart/related",
"multipart/mixed"}) only and confirm it works ?
We will try to add the support for writing multipart/form-data in time for
2.4.0/2.3.4
Cheers, Sergey
> When using ResponseBuilder to create Response of multiparts, the boundary
> attribute in the Content-Type Header is missing
> -------------------------------------------------------------------------------------------------------------------------
>
> Key: CXF-3399
> URL: https://issues.apache.org/jira/browse/CXF-3399
> Project: CXF
> Issue Type: Bug
> Components: JAX-RS
> Affects Versions: 2.3.3
> Environment: XP 2002 SP-3, JDK 1.6.0.17, cxf-2.3.3,
> Reporter: Avshalom Yeshurun
> Labels: Boundary, Content-Type, ResponseBuilder
> Original Estimate: 672h
> Remaining Estimate: 672h
>
> Hello,
> We have implemented the following method while the output of the Response
> should be a multipart message.
> @POST
> @Path("{destinationAddress}/messages/payloads")
> @Consumes("application/xml")
> @Produces({"multipart/related", "multipart/mixed",
> "multipart/form-data"})
> public Response postMailboxMessagesPayloadRequest(@Context
> HttpServletRequest request,
>
> @PathParam("destinationAddress") String destinationAddress,
> @Context ServletContext
> servletContext,
>
> JAXBElement<MailboxMessagesPayload> jAXBElement) {
> try{
> List<Attachment> attachments =
> ((MultipartBody)mwMailboxMessagesPayloadResponse.getBody()).getAllAttachments();
> MultipartBody multipartBody = new
> MultipartBody(attachments);
> ResponseBuilder responseBuilder =
> Response.status(HttpURLConnection.HTTP_OK);
> responseBuilder.type(multipartBody.getType()
> responseBuilder.entity(multipartBody);
> Response response = responseBuilder.build();
> return response;
> }
> catch(Exception e){
> }
> The thing is that no matter what we do, we can not have the 'boundary' which
> is determined by the CXF engine to appear in the Content-Type on the main
> header.
> As a result no Client will be able to parse the returned message.
> If we try to manually set the Content-Type header while giving it our own
> 'boundary', the result is that a different boundary is generated for the
> actual message, while the boundary we set is not the same.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira