Hi On 04/11/11 15:10, Carlsson-EXTERNAL Carl-johan wrote:
We got a REST service implemtented in Apache CXF available for our client exposed like this:@POST @Consumes(MediaType.APPLICATION_XML) @Produces(MediaType.TEXT_PLAIN) @Path("/process") public Response processBean(Bean bean); The Bean object is annotated with @XmlRootElement and all this works great. The problem is that the client is not setting the right content-type header (should be "application/xml" but client sets "application/x-form-urlencoded"). Apache CXF is not regonizing the method as a valid method for the (incorrect) call since the content-type is wrong. If I change @Consumes to "*/*" Apache CXF does not know how to parse the POST payload (no MessageBodyReader). The client will eventually change the header but we need a quick fix for now.
The quick fix is to register a RequestHandler filter or CXF in interceptor which will replace Message.CONTENT_TYPE property on a current message with "application/xml". If adding a ?_ctype=xml property to the POST request is an option for the client then it will do it too
HTH, Sergey
Any ideas? Regards, Carljohan
