Hi,
I'm using CXF 3.0.3, uploading files to jaxrs service from my webapp.
Small files upload fine but when I use files > 300KB they're empty on my
server, in my case I'm uploading an XML document containing test info for
my system. When I test for available bytes from the data handler's input
stream, it's always empty. Not the case with small files, say 500B.
Regardless of size, the service returns a success.
My LoggingInInterceptor spits out a payload that is incomplete, but the
POST in firebug shows the entire file contents. I feel like I'm missing
some sort of config, I've read about MTOM but I don't think 300KB should be
a problem.... What am I missing? Thanks for helping
My service interface
@POST
@Path(“/save/{name}")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_JSON)
public Response saveFile(
@PathParam(“name") String name,
@Multipart MultipartBody body,
@HeaderParam("CUSTOM-uid") String username);
...
for(Attachment attachment : body.getAllAttachments()) {
… // how I get the input stream
is = attachment.getDataHandler().getInputStream();
Bean definition
<jaxrs:server id=“wserver" address="/">
<jaxrs:serviceBeans>
<bean class=“example.com.web.rs.impl.FileServiceImpl" />
...
</jaxrs:serviceBeans>
<jaxrs:providers>
<bean class="org.codehaus.jackson.jaxrs.JacksonJsonProvider" />
</jaxrs:providers>
<jaxrs:features>
<ref bean="logger" />
</jaxrs:features>
</jaxrs:server>