Great!!!

Thank,
V.

On Tue, Jan 19, 2010 at 1:17 PM, Sergey Beryozkin <[email protected]>wrote:

> I agree it makes sense to let users to customize a 204 response by adding
> more headers or even changing the status and adding some entity if it is
> what is needed, so I've updated the mainline accordingly
>
> cheers, Sergey
>
>
>  Our service is a login service (specific for a web frontend) and it was
>> decided that no content in this case must be returned. So what the service
>> does is returning cookies and set the response status code (201,400,401 or
>> 501 the cases).
>> In our response handler we set the cache headers and we want to configure
>> this in spring (since at the moment is based on the service and not pe
>> method); for this reason I think it would make sense to let any response
>> handler run even when nothing is returned. Another use case could be an
>> handler logging the response info.
>>
>> BTW, if the change cannot be done I can easily change the signature
>> returning a Response: a simple update to your wiki would probably
>> guarantee
>> that no other people will make the same mistake.
>>
>>
>>
>> Thanks,
>> V.
>>
>> On Mon, Jan 18, 2010 at 6:31 PM, Sergey Beryozkin <[email protected]
>> >wrote:
>>
>>  Hi
>>>
>>>
>>>  Hi,
>>>
>>>>
>>>> I'm integrating a ResponseHandler with common code modyfing the final
>>>> response. It's than added through spring to the jaxrs:server section as
>>>> a
>>>> provider.
>>>>
>>>> The service is this:
>>>>  @POST
>>>>  @Path("/login")
>>>>  @Produces("text/html")
>>>>  public void login(@FormParam("username") String username,
>>>>          @FormParam("password") String password,
>>>>          @FormParam("rememberMe") boolean rememberMe,
>>>>          @FormParam("redirect") String redirect)
>>>>
>>>>
>>>> and than in spring:
>>>>
>>>> <bean id="atomWfeAuthenticationWebService"
>>>>
>>>>
>>>> class="com.tomtom.buenosaires.ws.wfe.authentication.impl.AtomWfeAuthenticationRestWebService">
>>>> <property name="wfeAuthenticationService" ref="wfeAuthenticationService"
>>>> />
>>>> </bean>
>>>>
>>>> <jaxrs:server id="atomWfeAuthenticationRestWebService"
>>>> address="/wfe/authentication">
>>>> <jaxrs:serviceBeans>
>>>> <ref bean="atomWfeAuthenticationWebService" />
>>>> </jaxrs:serviceBeans>
>>>> <jaxrs:providers>
>>>> <ref bean="atomFeedProvider" />
>>>> <ref bean="cacheDisabledFilter" />
>>>> </jaxrs:providers>
>>>> </jaxrs:server>
>>>>
>>>>
>>>> the atom feed provider is there in case the service definition will
>>>> change
>>>> and a proper atom feed will be returned. I guess the problem is related
>>>> with
>>>> nothing being returned.
>>>>
>>>>
>>> According to the JAX-RS spec, it has to be just 204 that has to be
>>> returned...I'll need to have a look and check if letting custom response
>>> handlers to override a default Response would make sense even for void
>>> methods...What exactly would you like to be returned on the wire for a
>>> POST-handling method returning 'void' ?
>>>
>>>
>>>
>>>  Is there a way to fix that or are we forced to always return something
>>>> (which maybe probably also make sense).
>>>>
>>>>
>>> Perhaps you can use HttpServletResponse directly ? Another option is to
>>> create a custom out CXF interceptor (instead of ResponseHandler), it will
>>> run before JAXRSOutInterceptor is invoked...Or may be you can just return
>>> a
>>> Response, instead of 'void' ?
>>>
>>>
>>> cheers, Sergey
>>>
>>>
>>>>
>>>>
>>>> thanks,
>>>> V.
>>>>
>>>>
>>>>
>>>
>>
>

Reply via email to