You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Avshalom Yeshurun (JIRA)" <ji...@apache.org> on 2011/03/21 10:53:05 UTC

[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13009078#comment-13009078 ] 

Avshalom Yeshurun commented on CXF-3399:
----------------------------------------

Hello Sergey,

We have managed the found the problem. It appears the problem was (indeed) in the code were the MultipartBody is build.
Thank you for your time and efforts. You have been very helpful.
BR,
Avish


Avish Yeshurun

Comverse
Office: +972-3-7663737
Mobile: +972-52-8543738
avish.yeshurun@comverse.com




> 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