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.

Reply via email to