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