Sergey, Well, Aegis is not seeing an xsi:type, and no one has given it a mapping from the XML element name to a type. Where is the type hiding?
--benson On Thu, Jul 23, 2009 at 12:21 PM, Sergey Beryozkin<[email protected]> wrote: > > Hi, > > I've added AegisJsonProvider [1] and I'm actually quite thrilled about the > possibilities it can offer, as far as the serialization of various complex > types is concerned. > It appears Aegis can work quite nicely with Jettison during the > serialization, but I could not make the read test working. It seems Aegis > requires the xsi:type information too early - jettison can certainly report > it as I've also added a default JSONProvider (JAXB-based) test which reads > the JSON sequence representing the list of derived types and it works well. > > Benson, let me know please if you can look at this issue. You may want to > have a look at a disabled AegisJSONProvider.testReadFrom test (a similar and > indeed more complex sequence with xsi:type works fine in > JSONProviderTest.testReadListOfDerivedTypes). If yes then I can create JIRA > and assign to you. > > Daniel - thanks for your request and please experiment with this provider - > for now you can copy the source into your custom provider - we hope to do > the release next week so it would be good if we could capture some errors > there > > Cheers, Sergey > > [1] > http://svn.apache.org/repos/asf/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AegisJSONProvider.java > > > Sergey Beryozkin wrote: >> >> Actually, I made it working - Aegis does not send 'writeEndDocument'... >> >> Will try to merge something working shortly >> Sergey >> >> >> Sergey Beryozkin wrote: >>> >>> Hi >>> >>> I tried to create AegisJSONProvider which for now just extends >>> AegisJAXBProvider and overwrites its (newly added in my snapshot) >>> createStreamWriter method and gives a Jettison writer back. >>> It actually appears to work, Jettison writer is being called but nothing >>> is available in the output stream in the end...Something confuses >>> Jettison, not sure what. I'll need to look more into it... >>> >>> cheers, Sergey >>> >>> >>> >>> >>> moradaniel wrote: >>>> >>>> Hello Guys, >>>> >>>> I am trying to serve json content from a CXF rest service using Aegis >>>> since my domain model is heavily based on interfaces and >>>> map/collections. I have followed this thread but have no clue on how to >>>> configure the service to serve Json using Aegis. I have also looked up >>>> in the samples bundled with the distribution but no example neither. >>>> Do you have any working example? >>>> >>>> My current config is: >>>> >>>> <jaxrs:server id="myService" address="/"> >>>> <jaxrs:serviceBeans> >>>> <ref bean="serviceImpl" /> >>>> <ref bean="personServiceImpl" /> >>>> </jaxrs:serviceBeans> >>>> <!-- uncomment to use Aegis--> >>>> <jaxrs:providers> >>>> <bean >>>> class="org.apache.cxf.jaxrs.provider.AegisElementProvider" >>>> /> >>>> <bean class="org.apache.cxf.jaxrs.provider.JSONProvider"> >>>> </jaxrs:providers> >>>> <jaxrs:extensionMappings> >>>> <entry key="xml" value="application/xml" /> >>>> <entry key="json" value="application/json"/> >>>> </jaxrs:extensionMappings> >>>> </jaxrs:server> >>>> >>>> >>>> This obviously does not work since JSONProvider uses Jaxb and not Aegis. >>>> >>>> Thank u very much >>>> Daniel >>>> >>>> >>>> Sergey Beryozkin-2 wrote: >>>>> >>>>> I did a quick update to the system test which uses Aegis and had no >>>>> problems getting JSON back. So let me know the Accept value please... >>>>> >>>>> Cheers, Sergey >>>>> >>>>> -----Original Message----- >>>>> From: Sergey Beryozkin [mailto:[email protected]] >>>>> Sent: 15 June 2009 20:52 >>>>> To: [email protected] >>>>> Subject: RE: Aegis + JSON ---> is it supported? >>>>> >>>>> Hi Parin, >>>>> >>>>> I'm not sure what is happening at the moment. >>>>> Can you also please post a captured HTTP Accept value ? I'll then try >>>>> to >>>>> do a test. >>>>> >>>>> Thanks, Sergey >>>>> >>>>> -----Original Message----- >>>>> From: Parin [mailto:[email protected]] >>>>> Sent: 15 June 2009 18:19 >>>>> To: [email protected] >>>>> Subject: Re: Aegis + JSON ---> is it supported? >>>>> >>>>> >>>>> Hi Sergey, >>>>> >>>>> Actually I am trying to serve JSON format and run into No message body >>>>> writer found error. >>>>> >>>>> Thanks, >>>>> - parin >>>>> >>>>> Sergey Beryozkin-2 wrote: >>>>>> >>>>>> Hi, >>>>>> >>>>>> I'm assuming it's an xml format which is not served, so try : >>>>>> >>>>>>> �...@produces({"application/xml", "application/json"}) >>>>>> >>>>>> this should help.... >>>>>> >>>>>> cheers, Sergey >>>>>> >>>>>>> >>>>>>> I get the following error when I try to make Aegis and JSON work in >>>>>>> JAX-RS: >>>>>>> >>>>>>> Jun 14, 2009 3:07:56 PM >>>>>>> org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor >>>>>>> writeResponseErrorMessage >>>>>>> WARNING: .No message body writer found for response class : Response. >>>>>>> >>>>>>> Note: Response is my custom class as shown below. >>>>>>> >>>>>>> �...@get >>>>>>> �...@path("/getquery") >>>>>>> �...@produces({"application/json"}) >>>>>>> public Response greetQuery(@QueryParam("name") String >>>>>>> name,@QueryParam("language") String language) { ..... } >>>>>>> >>>>>>> @XmlRootElement(name = "resp") >>>>>>> public class Response { >>>>>>> public Response(){} >>>>>>> public String getGreeting() { >>>>>>> return greeting; >>>>>>> } >>>>>>> public void setGreeting(String greeting) { >>>>>>> this.greeting = greeting; >>>>>>> } >>>>>>> public Error[] getErrors() { >>>>>>> return errors; >>>>>>> } >>>>>>> public void setErrors(Error[] errors) { >>>>>>> this.errors = errors; >>>>>>> } >>>>>>> String greeting; >>>>>>> Error[] errors; >>>>>>> >>>>>>> } >>>>>>> I >>>>>>> have the following config in my beans.xml >>>>>>> >>>>>>> <bean id="aegisProvider" >>>>>>> class="org.apache.cxf.jaxrs.provider.AegisElementProvider" /> >>>>>>> <jaxrs:server id="demoCXFServiceRS" address="/"> >>>>>>> <jaxrs:serviceBeans> >>>>>>> <ref bean="demoCXF" /> >>>>>>> </jaxrs:serviceBeans> >>>>>>> <jaxrs:providers> >>>>>>> <ref bean="aegisProvider"/> >>>>>>> </jaxrs:providers> >>>>>>> </jaxrs:server> >>>>>>> >>>>>>> What am I missing?? >>>>>>> >>>>>>> Thanks, >>>>>>> - parin >>>>>>> >>>>>>> >>>>>>> >>>>>>> Sergey Beryozkin-2 wrote: >>>>>>>> >>>>>>>> Hi >>>>>>>> >>>>>>>> If you do JAX-RS then you can use Aegis and JSON providers in >>>>> tandem, >>>>>>>> Aegis will handle application/xml requests, JSON one will deal with >>>>>>>> application/json. >>>>>>>> >>>>>>>> If you use Aegis as part of SOAP processing, then you can still >>>>> annotate >>>>>>>> the same bean with JAX-RS annotations and register a jax-rs endpoint >>>>> on >>>>>>>> the same port and have JSON supported. >>>>>>>> >>>>>>>> Cheers, Sergey >>>>>>>> >>>>>>>> -----Original Message----- >>>>>>>> From: Parin [mailto:[email protected]] >>>>>>>> Sent: 14 June 2009 20:50 >>>>>>>> To: [email protected] >>>>>>>> Subject: Aegis + JSON ---> is it supported? >>>>>>>> >>>>>>>> >>>>>>>> I just want to confirm that if Aegis is used as the data binding >>>>> then >>>>>>>> JSON is >>>>>>>> not supported in CXF 2.1.x and CXF 2.2.x. I couldn't find any >>>>>>>> documentation >>>>>>>> stating that or otherwise and I wasn't successful in my test code as >>>>>>>> well. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> - parin >>>>>>>> -- >>>>>>>> View this message in context: >>>>>>>> >>>>> http://www.nabble.com/Aegis-%2B-JSON----%3E-is-it-supported--tp24025149p >>>>>>>> 24025149.html >>>>>>>> Sent from the cxf-user mailing list archive at Nabble.com. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> View this message in context: >>>>>>> >>>>> http://www.nabble.com/Aegis-%2B-JSON----%3E-is-it-supported--tp24025149p >>>>> 24026292.html >>>>>>> Sent from the cxf-user mailing list archive at Nabble.com. >>>>>>> >>>>>> >>>>>> >>>>> >>>>> -- >>>>> View this message in context: >>>>> http://www.nabble.com/Aegis-%2B-JSON----%3E-is-it-supported--tp24025149p >>>>> 24038926.html >>>>> Sent from the cxf-user mailing list archive at Nabble.com. >>>>> >>>>> >>>>> >>>> >>>> >>> >>> >> >> > > -- > View this message in context: > http://www.nabble.com/Aegis-%2B-JSON----%3E-is-it-supported--tp24025149p24629415.html > Sent from the cxf-user mailing list archive at Nabble.com. > >
