Sergey, I am not aware of any cases requiring these headers for "plain" 
multipart/mixed.

I had observed a difference in behaviour based on unit tests which were 
examining the response.

>From the discussion in the bug you pointed out [1], I understand that there 
>were changes in 2.5.x which made CXF more compliant to RFC 2387 [2].

That's a good enough explanation for me.  I simply wanted to ensure that it 
wasn't a bug or something that required additional configuration.  It doesn't 
seem to be causing any of our "real" clients any trouble.

I had cross-posted to Stack Overflow[3], so feel free to put an answer there 
for some rep.

Appreciate the response and I'm glad for the clarity of understanding.

jz

[1]: https://issues.apache.org/jira/browse/CXF-4348
[2]: http://tools.ietf.org/html/rfc2387
[3]: 
http://stackoverflow.com/questions/34597903/multipartbody-content-type-attributes-dropped-on-cxf-upgrade

-----Original Message-----
From: Sergey Beryozkin [mailto:[email protected]] 
Sent: January-11-16 6:23 AM
To: [email protected]
Subject: Re: MultipartBody Content-Type attributes dropped on upgrade from CXF 
2.4.0 to 3.4.1

Hi

This is related to
https://issues.apache.org/jira/browse/CXF-4348?focusedCommentId=13488120&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13488120

The only multipart/* media type that may contain 'start' and 'start-info' 
attributes is, AFAIK, multipart/related.

Are you aware of any texts that support these attributes for multipart/mixed ?
Even if it not but you do need these attributes when processing multipart/mixed 
payloads then may be we can update the code to set them but only if a property 
requesting it is set, let me know please

Sergey

On 04/01/16 18:40, Jacob Zwiers wrote:
>
> After upgrading Apache CXF from 2.4.0 to 3.4.1, the `Content-Type` header on 
> responses from JAX-RS methods have dropped several attributes.
>
> Under CXF 2.4.0, the header is:
>
>      Content-Type: multipart/mixed; type="application/octet-stream"; 
> boundary="uuid:61b631f1-0aa9-4cc8-ad85-3c09129ec442"; 
> start="<DocumentName.ext>"; start-info="application/octet-stream"
>
> Under CXF 3.4.1, it is:
>
>      Content-Type: multipart/mixed; 
> boundary="uuid:804168d7-70ed-44e7-a471-9647372b9224"
>
> Note: attributes `type`, `start`, `start-info` missing.
>
> Here's the code we're using:
>
>      @GET
>      @Path( "{order_id}/document/{document_id}/file" )
>      @Produces("multipart/mixed")
>      public MultipartBody getDocument( @PathParam( "order_id") int 
> _orderId,  @PathParam( "document_id") int _documentId) throws 
> Exception {
>
>         FileInfo fileInfo = findFileInfo( _orderId, _documentId );
>
>         List<Attachment> atts = new ArrayList<Attachment>();
>
>         File internalFile = fileInfo.getActualFile();
>
>         String fileName = fileInfo.getOriginalDocumentName();
>
>         String fileSize = String.valueOf( internalFile.length() );
>
>         ContentDisposition cd = new ContentDisposition("attachment; 
> filename=\"" + fileName + "\"; size=" + fileSize );
>
>         InputStream inputStreamToUse = new FileInputStream( 
> internalFile );
>
>         Attachment att = new Attachment(fileName, inputStreamToUse, 
> cd);
>
>         atts.add( att );
>
>         return new MultipartBody(atts, true);         
>      }
>
> I can't find any references in the [Migration Guides][1] to changes in this 
> area and the style of the above method seems to match the one from the 
> [getBooks2() method in the JAX-RS Multipart documentation][2].
>
> Any guidance on what might be causing the different behaviour?
>
>    [1]: http://cxf.apache.org/docs/migration-guides.html
>    [2]: 
> http://cxf.apache.org/docs/jax-rs-multiparts.html#highlighter_731760
>


--
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Reply via email to