That does sound like a bug.  Can you create a small test case and attach it to 
a JIRA?    I'm not sure what we can do about it though.   This may be in JAXB, 
but if we can get a test case in, we can dig in a bit more.

Dan

On Friday 05 March 2010 10:42:56 am Enrico Boldrini wrote:
> Hello,
> 
> I'm using MTOM attachments (with JAX-WS, not from schemas) following the
> instructions found on
> http://cxf.apache.org/docs/mtom-attachments-with-jaxb.html
> 
> The sample service is returning a Picture Object with a custom
> DataSource as following:
> 
>     @WebMethod(operationName = "GetPicture")
>     public Picture getPicture() {
>     Picture ret = new Picture();
>     DataSource source = new DataSource() {
> 
>         @Override
>         public OutputStream getOutputStream() throws IOException {
>         return null;
>         }
> 
>         @Override
>         public String getName() {
>         return null;
>         }
> 
>         @Override
>         public InputStream getInputStream() throws IOException {
>         return new ByteArrayInputStream(new byte[] { 10, 20 });
>         }
> 
>         @Override
>         public String getContentType() {
>         return "image/png";
>         }
>     };
>     ret.setImageData(new DataHandler(source));
>     return ret;
>     }
> 
> This is the actual message stream flowing from the server to the client:
> 
> HTTP/1.1 200 OK
> Content-Type: multipart/related; type="application/xop+xml";
> boundary="uuid:9ed9e39c-5cfa-4946-8b3a-085b3aa92f13";
> start="<[email protected]>"; start-info="text/xml"
> Content-Length: 810
> Server: Jetty(6.1.21)
> 
> 
> --uuid:9ed9e39c-5cfa-4946-8b3a-085b3aa92f13
> Content-Type: application/xop+xml; charset=UTF-8; type="text/xml";
> Content-Transfer-Encoding: binary
> Content-ID: <[email protected]>
> 
> <soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";><soap:Body><ns2:GetP
> ictureResponse
> xmlns:ns2="test"><return><title>title</title><imageData><xop:Include
> xmlns:xop="http://www.w3.org/2004/08/xop/include";
> href="cid:ccc0970b-980f-4bd0-bd90-5ffd4181a047-3@http%3A%2F%2Fcxf.apache.or
> g%2F"/></imageData></return></ns2:GetPictureResponse></soap:Body></soap:Env
> elope>
> 
> --uuid:9ed9e39c-5cfa-4946-8b3a-085b3aa92f13
> Content-Type: image/png
> Content-Transfer-Encoding: binary
> Content-ID: <ccc0970b-980f-4bd0-bd90-5ffd4181a04...@http://cxf.apache.org/>
> 
> 
> .
> --uuid:9ed9e39c-5cfa-4946-8b3a-085b3aa92f13--
> 
> On the client side I can access the ByteArrayDataSource of the picture
> object. This has a correct input stream (as set in the service) but an
> incorrect content type "application/octet-stream". Note that the sniffed
> message contains the attachment with the correct content type "image/png".
> 
> This seems a bug IMHO, looking forward for your comments,
> 
> Enrico

-- 
Daniel Kulp
[email protected]
http://dankulp.com/blog

Reply via email to