Hi, This is still broken. A simple use of ClientResource like this:
ClientResource resource = new ClientResource("http://api.bitly.com/v3/shorten?login=" + bitlyUser + "&apiKey=" + bitlyKey + "&longUrl=" + longUrl + "&format=json"); String result = resource.get().getText(); within the context a JaxRsApplication application breaks with two exceptions: By default, the outbound root of an application can't handle calls without being attached to a parent component. Internal Server Error (500) - The server isn't properly configured to handle client calls. at org.restlet.resource.ClientResource.doError(ClientResource.java:484) at org.restlet.resource.ClientResource.handle(ClientResource.java:917) at org.restlet.resource.ClientResource.handle(ClientResource.java:888) at org.restlet.resource.ClientResource.handle(ClientResource.java:808) at org.restlet.resource.ClientResource.get(ClientResource.java:530) etc... and then: java.lang.IllegalStateException: No CallContext given until now at org.restlet.ext.jaxrs.internal.core.ThreadLocalizedContext.get(ThreadLocalizedContext.java:123) at org.restlet.ext.jaxrs.JaxRsRestlet.handleResult(JaxRsRestlet.java:742) at org.restlet.ext.jaxrs.JaxRsRestlet.handle(JaxRsRestlet.java:688) etc... When I explicitly set an outbound root to the JaxRsApplication like this: final JaxRsApplication servicesApplication = new JaxRsApplication(server.getContext().createChildContext()); servicesApplication.setOutboundRoot(new Client(server.getContext().createChildContext(), Arrays.asList(Protocol.HTTP, Protocol.HTTPS))); The first exception disappears and the ClientResource.get call works. However, the second exception remains. I have no idea what an "outbound root" is, and couldn't find documentation about it, so the setOutboundRoot line above is guesswork. And it's a bit frustrating that it forced me to add the "big" apache HTTP client&core jars. All I want is to hit an HTTP server and get back a response. I'm not sure why this has anything to do with the current execution context, the request I'm handling, the components I've configured etc. I tried passing a null context to the ClientResource constructor, but it ends up getting the thread-bound context anyways. The second exception is especially weird since it seems a CallContext is being set right before it fails to find it. This is with 2.1m5. My workaround is to use write my own HTTP client. Best Regards, Boris ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2845488