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: WS-* Components
    Affects Versions: 2.3.3
         Environment: XP 2002 SP-3, JDK 1.6.0.17, cxf-2.3.3, 
            Reporter: Avshalom Yeshurun


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