Foren

Setting the HTTP Response in a liferay service

Tim Cardwell, geändert vor 11 Jahren.

Setting the HTTP Response in a liferay service

Junior Member Beiträge: 29 Beitrittsdatum: 19.07.12 Neueste Beiträge
I have a liferay service, and a .NET app that calls this service.

The .NET app will only continue processing it's code if the HttpResponseStatus from the liferay service call is OK. However, lets say my service needs to manually set an http response if an exception occurs. Is there a way to do this in liferay? Do I need to pass the request into my service or something along those lines?

Thanks,
-Tim
thumbnail
Andew Jardine, geändert vor 11 Jahren.

RE: Setting the HTTP Response in a liferay service

Liferay Legend Beiträge: 2416 Beitrittsdatum: 22.12.10 Neueste Beiträge
Hey Tim,

It's been a while since I've had to do anything with services but if memory serves me, you should be able to throw an exception that get returned as a SOAP Fault to the caller. I am pretty sure that Faults, although representing errors, do use a HTTP Status code of 200 OK. Have you tried that avenue yet?
Tim Cardwell, geändert vor 11 Jahren.

RE: Setting the HTTP Response in a liferay service

Junior Member Beiträge: 29 Beitrittsdatum: 19.07.12 Neueste Beiträge
Well my service is catching a few types of exceptions, including PortalExceptions. The problem is I don't want it to return with status code 200, I want it to return with an error status code, but even when I trip the portal exception, it still returns with status code 200...
thumbnail
Charly Wu, geändert vor 10 Jahren.

RE: Setting the HTTP Response in a liferay service

New Member Beiträge: 4 Beitrittsdatum: 11.04.13 Neueste Beiträge
I'm also interested in returning http status other than 200 when exception occurs.
Hi Tim, do you have any solution?
thumbnail
Nicolas Forney, geändert vor 10 Jahren.

RE: Setting the HTTP Response in a liferay service

Junior Member Beiträge: 78 Beitrittsdatum: 23.05.11 Neueste Beiträge
Anyone found a solution to set the HTTP response code ?