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