Hi Sorry for a delay. CXF JAXRS JaxbElementProvider is already checking for a custom XMLStreamReader/XMLStreamWriter on a message, and if it is available then will read from/write to it. The current problem is that a JAXB provider is not recognizing "application/fastinfoset", so you just need to explicitly configure JaxbElementProvider to accept "application/xml" and "application/fastinfoset", please see
http://svn.apache.org/repos/asf/cxf/trunk/systests/jaxrs/src/test/resources/jaxrs/WEB-INF/beans.xml ex, do something like <util:list id="customTypes"> <value>application/xml</value> <value>application/fastinfoset</value> </util:list> and then <bean id="jaxbProvider" class="org.apache.cxf.jaxrs.provider.JAXBElementProvider"> <property name="produceMediaTypes" ref="customTypes"/> <property name="consumeMediaTypes" ref="customTypes"/> </bean> Can you try it please ? I hope this will work for you Sergey AllanSLim wrote: > > > Hi Dan, > > Thanks a lot! Any feedback from Sergey is also appreciated. > > > We also have SOAP endpoints, I will experiment on that as well. > > regards, > Allan > > > dkulp wrote: >> >> >> May need to wait till Sergey is back from his holidays for this. >> >> I don't think the FastInfosetFeature thing will work for JAX-RS as that >> really >> interacts with the StaxOutInterceptors that are used for the normal >> webservice >> things. What may be needed is a FI Provider thing for JAXRS. Not >> really >> sure though. Or maybe have the existing providers that use Stax double >> check >> the message for an XMLStreamReader or similar. If I get a chance a >> bit >> later, I'll try and take a look, but this is defintely closer to Sergey's >> area. >> >> Dan >> >> >> On Thu January 7 2010 11:32:34 am AllanSLim wrote: >>> Hi Guys, >>> >>> We're trying to implementing the fastInfoset feature of CXF (2.2.5) in >>> our >>> REST service, but it's returning a 500 internal server error ( No >>> message >>> body writer has been found for response class Person ). >>> >>> wget: >>> >>> wget -S --header="Accept: application/fastinfoset" >>> http://localhost:8080/services/samples/getSample?id=9 >>> >>> No message body writer has been found for response class Person >>> >>> >>> Our rest service is: >>> >>> @Path("/samples") >>> @Features(features = { "org.apache.cxf.feature.FastInfosetFeature" }) >>> @Produces({"application/xml","application/fastinfoset", "text/plain"}) >>> public class SampleServiceImpl implements SampleService { >>> >>> @GET >>> @Path("/getPerson") >>> public Response getPerson() { >>> Person person = new Person(); >>> person.setAge("99"); >>> person.setName("Homer Simpson"); >>> // trying the Response.ok() >>> return Response.ok(person).build(); >>> // return person; >>> } >>> >>> >>> >>> Our class person is properly annotated with: >>> >>> @XmlRootElement(name = "Person") >>> public class Person { .. } >>> >>> >>> >>> Our project is maven base. >>> >>> Any help will be greatly appreciated! >>> >>> Thank you very much! >>> >>> regards, >>> Allan >>> >> >> -- >> Daniel Kulp >> [email protected] >> http://www.dankulp.com/blog >> >> > > -- View this message in context: http://old.nabble.com/CXF-2.2.5-and-Fastinfoset-tp27062753p27077236.html Sent from the cxf-user mailing list archive at Nabble.com.
