[ https://issues.apache.org/jira/browse/CXF-3380?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Glen Mazza reopened CXF-3380: ----------------------------- Hi, this sample is still indicating a problem (perhaps one further down after the latest change made): https://github.com/gmazza/jersey-samples-on-cxf/tree/master/simple-servlet For this class within it: https://github.com/gmazza/jersey-samples-on-cxf/blob/master/simple-servlet/src/main/java/com/sun/jersey/samples/servlet/resources/ResourceBean3.java The traditional way as described in this JIRA (lines 153-164) works but the DataSoure way (143-151) doesn't. Steps to replicate: 1. Check out simple-servlet: git clone https://github.com/gmazza/jersey-samples-on-cxf.git (move to simple-servlet folder). 2. Run "mvn clean install" on it. 3. Run "mvn jetty:run" and go to this page in a browser: http://localhost:8080/SimpleServlet/resources/start 4. From the top, select "Resource 3", press the "Test Resource" button, leave Fred & Barney as-is, choose "Selection Method" of "Query Parameter" and MIME type of image/jpg. 5. Select the lower "Test Resource" button. You'll see the Oracle Duke logo/picture. Everything good. 6. In class ResourceBean3 listed above, comment out the "public InputStream getImageRep()" method and uncomment the "public DataSource getImageRep()" method; repeat steps 2-5 above. This time, though, no picture is returned and server reports back "WARNING: No message body writer has been found for response class FileDataSource." > JAX-RS: Support writing to DataSources > -------------------------------------- > > Key: CXF-3380 > URL: https://issues.apache.org/jira/browse/CXF-3380 > Project: CXF > Issue Type: Improvement > Components: JAX-RS > Reporter: Glen Mazza > Assignee: Sergey Beryozkin > Fix For: 2.3.8, 2.4.5, 2.5.1 > > > CXF's JAX-RS implementation can presently read from but not write to data > sources (javax.activation.DataSource). Provide an ability to write to data > sources so we can code this way: > @Produces("image/jpg") > @GET > public DataSource getImageRep() { > URL jpgURL = this.getClass().getResource("myimage.jpg"); > return new FileDataSource(jpgURL.getFile()); > } > instead of something like this: > @Produces("image/jpg") > @GET > public InputStream getImageRep() { > FileInputStream fis = null; > try { > URL jpgURL = this.getClass().getResource("myimage.jpg"); > fis = new FileInputStream(new File(jpgURL.getPath())); > } catch (IOException e) { > System.out.println("Couldn't find file!"); > } > return fis; > } -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira