You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Sergey Beryozkin (JIRA)" <ji...@apache.org> on 2011/03/14 15:50:29 UTC
[jira] Updated: (CXF-3399) When using ResponseBuilder to create
Response of multiparts, the boundary attribute in the Content-Type Header
is missing
[ 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