users@jersey.java.net

Re: [Jersey] Setting Request Content Type Dynamically

From: cgswtsu78 <cgray_at_proofpoint.com>
Date: Thu, 17 Dec 2009 09:36:34 -0800 (PST)

Ok thanks, I'll try that. Below is my web.xml

<?xml version="1.0"?>
<web-app version="2.5"
                xmlns="http://java.sun.com/xml/ns/javaee"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>Greeter</display-name>

<context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>ChartWebWiz</param-value>
</context-param>
 
<context-param>
   <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
   <param-value>server</param-value>
</context-param>
  
<context-param>
   <param-name>org.richfaces.SKIN</param-name>
   <param-value>blueSky</param-value>
</context-param>

<context-param>
      <param-name>org.richfaces.CONTROL_SKINNING</param-name>
      <param-value>enable</param-value>
</context-param>

<context-param>
  <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
  <param-value>.xhtml</param-value>
</context-param>
 
<filter>
   <display-name>RichFaces Filter</display-name>
   <filter-name>richfaces</filter-name>
   <filter-class>org.ajax4jsf.Filter</filter-class>
</filter>

<filter-mapping>
   <filter-name>richfaces</filter-name>
   <servlet-name>Faces Servlet</servlet-name>
   <dispatcher>REQUEST</dispatcher>
   <dispatcher>FORWARD</dispatcher>
   <dispatcher>INCLUDE</dispatcher>
</filter-mapping>
  
<listener>
   <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>


<listener>
        <listener-class>
        
org.eclipse.birt.chart.viewer.internal.listener.ChartServletContextListener
        </listener-class>
</listener>
<listener>
        <listener-class>
                org.eclipse.birt.chart.viewer.internal.listener.ChartHttpSessionListener
        </listener-class>
</listener>
 
<!-- Faces Servlet -->
<servlet>
   <servlet-name>Faces Servlet</servlet-name>
   <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
   <load-on-startup>1</load-on-startup>
</servlet>

<servlet>
    <servlet-name>Jersey Web Application</servlet-name>
   
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>com.proofpoint.resources.chartsvcs.impl</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Jersey Web Application</servlet-name>
    <url-pattern>/jersey/*</url-pattern>
</servlet-mapping>
 
<!-- Faces Servlet Mapping -->
<servlet-mapping>
   <servlet-name>Faces Servlet</servlet-name>
   <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
  
<login-config>
   <auth-method>BASIC</auth-method>
   </login-config>
</web-app>

Paul Sandoz wrote:
>
>
> On Dec 17, 2009, at 5:53 PM, cgswtsu78 wrote:
>
>>
>> Paul,
>>
>> I just extended the ResourceConfig class from the jersey-server.jar,
>> do I
>> have to implement a custom version of it?
>>
>
> I recommend extending from DefaultResourceConfig, as you have to
> implement less.
>
> I want to look at the code and the web.xml to see if there is a
> mistake. Feel free to send it me privately if appropriate.
>
> Paul.
>
>
>>
>> Paul Sandoz wrote:
>>>
>>>
>>> On Dec 16, 2009, at 9:03 PM, cgswtsu78 wrote:
>>>
>>>>
>>>> Paul,
>>>>
>>>> Thanks for the suggestions. I tried them but the GET request didn't
>>>> find
>>>> the resource.
>>>>
>>>> I extended the ResourceConfig class and added the .json to the end
>>>> of the
>>>> GET request.
>>>>
>>>
>>> Can you share your code for the extended ResourceConfig class and the
>>> web.xml?
>>>
>>> Paul.
>>>
>>>
>>>
>>>> when I execute GET /chartsvcs/topspamsenderchart the request
>>>> succeeds but
>>>> when I do the below it fails to find it.
>>>>
>>>> executed GET /chartsvcs/topspamsenderchart.json
>>>>
>>>
>>>> @Path("/chartsvcs")
>>>> public class TopSpamSenderWSImpl extends ResourceConfig {
>>>> {
>>>>
>>>> @GET
>>>> @Path("/topspamsenderchart")
>>>> @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
>>>> public Response getTopSpamSenderChartTest1() throws Exception{
>>>>
>>>> Object o = call something to populate object...
>>>>
>>>> return Response.ok(o).type("application/json").build();
>>>>
>>>> }
>>>>
>>>>
>>>> }
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Samuel Le Berrigaud-3 wrote:
>>>>>
>>>>> You might want to use the javax.ws.rs.core.Response class,
>>>>>
>>>>> @GET
>>>>> @Path("/topspamsenderchart")
>>>>> @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
>>>>> public Response getTest()
>>>>> {
>>>>>
>>>>> Response.ok(something.fetch).type(calculateContentType()).build();
>>>>> }
>>>>>
>>>>> HTH,
>>>>> SaM
>>>>>
>>>>> On Wed, Dec 16, 2009 at 9:34 AM, cgswtsu78 <cgray_at_proofpoint.com>
>>>>> wrote:
>>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> Does anyone know how I can use a querystring parameter to set the
>>>>>> content
>>>>>> type of the request.
>>>>>>
>>>>>> For example if I have a resource method that accepts both XML and
>>>>>> JSON,
>>>>>> how
>>>>>> can I let the consumer (via a url GET request) decide what content
>>>>>> type
>>>>>> they
>>>>>> want to be returned? Is there an annotation I can use in order to
>>>>>> map a
>>>>>> querystring request parameter to dynamically set the requests
>>>>>> content
>>>>>> type?
>>>>>>
>>>>>>
>>>>>> @GET
>>>>>> @Path("/topspamsenderchart")
>>>>>> @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
>>>>>> public Object getTest()
>>>>>> {
>>>>>>
>>>>>> Object o = something.fetch;
>>>>>>
>>>>>> return o;
>>>>>> }
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://n2.nabble.com/Setting-Request-Content-Type-Dynamically-tp4172634p4172634.html
>>>>>> Sent from the Jersey mailing list archive at Nabble.com.
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
>>>>>> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>>>>>>
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
>>>>> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://n2.nabble.com/Setting-Request-Content-Type-Dynamically-tp4172634p4177691.html
>>>> Sent from the Jersey mailing list archive at Nabble.com.
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
>>>> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
>>> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://n2.nabble.com/Setting-Request-Content-Type-Dynamically-tp4172634p4182230.html
>> Sent from the Jersey mailing list archive at Nabble.com.
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
>> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>
>
>

-- 
View this message in context: http://n2.nabble.com/Setting-Request-Content-Type-Dynamically-tp4172634p4182464.html
Sent from the Jersey mailing list archive at Nabble.com.