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--tp24025149p24610145.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to