Looking at the CXF code it seems the problem is here: private <T> MessageBodyWriter<T> chooseMessageWriter( List<MessageBodyWriter> writers, Class<T> type, MediaType mediaType) { for (MessageBodyWriter<T> ep : writers) { if (!ep.isWriteable(type)) { continue; }
where [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED] these are the writers and my class seems not be "registered with this writers. Maybe there is a way to make it possible for a writer to have my class in output... but I'm just guessing... :-) I will try your solution.. Thnaks, V. On Fri, Apr 4, 2008 at 4:51 PM, Sergey Beryozkin <[EMAIL PROTECTED]> wrote: > Hi > > I think you need to return a Response and then in your code do : > > return Response.setEntity(yourObject).build() > > I think that just by the virtue of extending a Response you can not have > it serialized. > > > > - Before the JAXRS implementation I always used to put the annotations > at > > the interface level but now in this way it doesn't seem to work anymore. > I'm > > missing something to make it possible? Maybe is this a JAXRS > specification? > > I've seen on a Jersey list recently that it's a feature of the 0.7 API > (spec), we're at a 0.6 level currently... > and that annotations will only be supported at a method level, don't know > more about it at this stage > > Hope it helps, Sergey > > > > > Hi, > > > > I'm trying to integrate the JAX-RS implementation now included in CXF > 2.1 > > (snapshot). > > > > The service is correctly called and the parameters arrive fine but then > I > > get a page with the message: > > > > No message body writer found for response class : SimpleResponse. > > > > Where SimpleResponse is my custom response bean extending the > > javax.ws.rs.core.Response. > > > > Here the code: > > > > @Path("/ButtonService") > > public class ButtonWebServiceImpl implements ButtonWebService { > > > > > > > @Path("/addressButton/{action}/{apiKey}/{countryCode}/{state}/{city}/" > > + > > > "{street}/{number}/{postCode}/{attribution}/{logoUrl}/{name}/{description}/{source}/{buttonServer}/{buttonArtUrl}") > > @GET > > public SimpleResponse createForAddress(@PathParam(value = "action") > > String action, @PathParam(value = "apiKey") > > String apiKey, @PathParam(value = "countryCode") > > String countryCode, @PathParam(value = "state") > > String state, @PathParam(value = "city") > > String city, @PathParam(value = "street") > > String street, @PathParam(value = "number") > > String number, @PathParam(value = "postCode") > > String postCode, @PathParam(value = "attribution") > > String attribution, @PathParam(value = "logoUrl") > > String logoUrl, @PathParam(value = "name") > > String name, @PathParam(value = "description") > > String description, @PathParam(value = "source") > > String source, @PathParam(value = "buttonServer") > > String buttonServer, @PathParam(value = "buttonArtUrl") > > String buttonArtUrl) { > > ... > > } > > } > > > > and in Spring: > > > > <jaxrs:server id="buttonWebServiceRest" > > address="/rest/"> > > <jaxrs:serviceBeans> > > <ref bean="buttonWebServiceImpl" /> > > </jaxrs:serviceBeans> > > </jaxrs:server> > > > > > > Have any glue on that? > > > > > > Further questions: > > > > - My SimpleResponse extend the javax Response as I red in the JAXRS new > > documentation that this is a requirement for the HTTPMerthod annotation. > Is > > this valid also for the @GET annotation? How I have to implement it? > > > > - Before the JAXRS implementation I always used to put the annotations > at > > the interface level but now in this way it doesn't seem to work anymore. > I'm > > missing something to make it possible? Maybe is this a JAXRS > specification? > > > > > > > > > > Thanks in advance, > > Vicio. > > > > ---------------------------- > IONA Technologies PLC (registered in Ireland) > Registered Number: 171387 > Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland >