[ 
https://issues.apache.org/jira/browse/CXF-3399?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13006849#comment-13006849
 ] 

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


Hello Sergey,

Mayby this will give you a hint:
When I try to avoid setting the content type on the ResponseBuilder, I get this 
error:

HTTP/1.1 500 Internal Server Error
No message body writer has been found for response class MultipartBody.

That is regardless of the Produces annotation.
Let me know if you still need more info.

Thanks!
Avish








> 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

Reply via email to