Ah!
Further digging showed me that what happened was that the behavior of
catching thrown ResourceExceptions from a ServerResource has changed.
Now, if the exception has a cause, then the error always becomes 500.
This was not previously the case... If this is planned behavior, great,
but just wanted to be sure.
Here is a test case that returns a 500 error:
public class Test
{
public static class MyResource extends ServerResource
{
@Override
public Representation get() throws ResourceException
{
throw new ResourceException( Status.CLIENT_ERROR_NOT_FOUND,
new IOException( "This turns into a 500 error" ) );
// The following works as I expected:
//throw new ResourceException( Status.CLIENT_ERROR_NOT_FOUND );
}
}
public static void main( String arguments[] ) throws Exception
{
Component component = new Component();
try
{
component.getServers().add( Protocol.HTTP, 8080 );
Application application = new Application();
component.getDefaultHost().attach( application );
component.getInternalRouter().attach( "/myapp", application
).setMatchingMode( Template.MODE_STARTS_WITH );
Router router = new Router( application.getContext() );
application.setInboundRoot( router );
router.attach( "/test/", MyResource.class
).setMatchingMode( Template.MODE_STARTS_WITH );
component.start();
ClientResource client = new ClientResource(
component.getContext(), "riap://component/myapp/test/" );
// ClientResource client = new ClientResource(
// "http://localhost:8080/test/" );
System.out.println( "GET: " + client.get() );
}
catch( ResourceException x )
{
System.out.println( x.getStatus() );
}
catch( Exception x )
{
x.printStackTrace();
}
finally
{
System.exit( 0 );
}
}
}
On 02/16/2010 01:37 AM, Thierry Boileau wrote:
> Hello Tal,
>
> using a ClientResource, I get a ResourceException when the response is
> not successful, and both the ResourceException and the response's
> statuses are equals to 404.
> Using a simple Client instance, the status of the response object is
> set to 404 also. Could you explain a little bit more what happens in
> your case?
>
------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2448233