Thanks Sergey, would this be configured as follows:

<jaxrs:server id="servicesREST" address="/rest">
        <jaxrs:serviceBeans>
            <ref bean="servicesSEI" />
        </jaxrs:serviceBeans>
 
        <jaxrs:outInterceptors>
            <ref bean="testIntercepter"/>
        </jaxrs:outInterceptors>

</jaxrs:server>
    
<bean id="testIntercepter"
class="com.zag.services.gateway.handler.ResponseInterceptor"/>

Interceptor logic

public class ResponseInterceptor extends AbstractPhaseInterceptor<Message> 
{
    private static final Log log =
LogFactory.getLog(ResponseInterceptor.class);

    public ResponseInterceptor() {
        //UNMARSHALL applies only to incoming chains
        super(Phase.MARSHAL);
    }

    public void handleMessage(Message msg) {
        log.info("*****Magic Happens Here ****");

    }

}






Sergey Beryozkin-2 wrote:
> 
> In JAXRS & JAXWS case a CXF out interceptor would need to modify the
> headers directly on the outbound message, don't remember at the moment
> the property key, check please Message class if needed..., in JAXRS only
> dealing with Response would do
> 
> Cheers, Sergey
> 
> 
> 
> -----Original Message-----
> From: Sergey Beryozkin [mailto:[email protected]] 
> Sent: 17 June 2009 21:12
> To: [email protected]
> Subject: RE: Best way to append logic to response header
> 
> Hi
> 
> One way is to register a ResponseHandler JAX-RS filter :
> http://cwiki.apache.org/CXF20DOC/jax-rs.html#JAX-RS-Filters
> 
> You can substitute a Response to be serialized with your own one, for
> ex, you can create a new one and copy the provided one into it and then
> add few headers or update  the entity as needed.
> 
> A similar option is to register a CXF out interceptor at the stage
> UNMARSHAL, you can get a Response from a message like this :
> 
> Response r = message.getExchange().get(Response.class);
> 
> create a new one and reset it on the exchange. This would work for
> JAXRS&JAXWS
> 
> hope it helps, Sergey  
> 
> -----Original Message-----
> From: mieke [mailto:[email protected]] 
> Sent: 17 June 2009 20:11
> To: [email protected]
> Subject: Best way to append logic to response header
> 
> 
> Set up - CXF, Spring, JAX-RS
> 
> I have some RESTfull services that return various data formats (xml,
> json). 
> I would like to add some additional data to the response header.  What
> is
> the best approach to doing this?
> 
> String context file has the following ...
> <jaxrs:server id="servicesREST" address="/rest">
>   <jaxrs:serviceBeans>
>     <ref bean="servicesSEI" />
>   </jaxrs:serviceBeans>
> </jaxrs:server>
> 
> My test method in the impl
> 
>     @GET
>     @Produces("application/xml")
>     @Path("/upper/{string}")
>     public String toUpper(@PathParam("string") String string) {
>       return "<test>" + string.toUpperCase() + "</test>" ;
> 
>     }
> 
> 
> Appreciate your help.
> 
> Thanks,
> 
> Mieke
> 
> 
> 
> -- 
> View this message in context:
> http://www.nabble.com/Best-way-to-append-logic-to-response-header-tp2408
> 0075p24080075.html
> Sent from the cxf-user mailing list archive at Nabble.com.
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Best-way-to-append-logic-to-response-header-tp24080075p24083319.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to