Thanks for your reply.

Unfortunately your example throws an exception in my application.
My (simplified) application looks like this:


package test;

import java.util.HashSet;
import java.util.Set;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Application;

import org.restlet.Component;
import org.restlet.data.Protocol;
import org.restlet.ext.jaxrs.JaxRsApplication;
import org.restlet.representation.Representation;
import org.restlet.resource.ClientResource;

public class TestServer {

     public static void main(String[] args) throws Exception {
         Component component = new Component();
         component.getServers().add(Protocol.HTTP);
         component.getClients().add(Protocol.HTTP);
         JaxRsApplication jaxRsApplication = new 
JaxRsApplication(component.getContext().createChildContext());
         jaxRsApplication.add(new Application() {
             @Override
             public Set<Class<?>> getClasses() {
                 Set<Class<?>> set=new HashSet<Class<?>>();
                 set.add(TestJaxRsRestlet.class);
                 return set;
             }
         });
         component.getDefaultHost().attach(jaxRsApplication);
         component.start();

     }

     @Path("test")
     public static class TestJaxRsRestlet{
         @GET
         @Path("direct")
         @Produces("text/plain")
         public String getSomeText() {
             return "OK";
         }

         @GET
         @Path("indirect")
         @Produces("text/plain")
         public String readFromUri() {
             ClientResource res=new 
ClientResource("http://127.0.0.1/test/direct";);
             Representation rep=res.get();
             return rep.toString();
         }
     }

}

Doing a GET on http://127.0.0.1/test/direct in a browser works and 
returns the string "OK".
But GETing http://127.0.0.1/test/indirect throws the following exception:

10.04.2012 17:38:31 org.restlet.engine.log.LogFilter afterHandle
INFO: 2012-04-10    17:38:31    127.0.0.1    -    -    80    GET    
/test/direct    -    200    2    0    18    http://127.0.0.1    
Restlet-Framework/2.0.11    -
10.04.2012 17:38:31 org.restlet.engine.application.StatusFilter doHandle
WARNUNG: Exception or error caught in status service
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:780)
     at org.restlet.ext.jaxrs.JaxRsRestlet.handle(JaxRsRestlet.java:726)
     at org.restlet.routing.Filter.doHandle(Filter.java:156)
     at org.restlet.routing.Filter.handle(Filter.java:203)
     at org.restlet.routing.Filter.doHandle(Filter.java:156)
     at org.restlet.routing.Filter.handle(Filter.java:203)
     at org.restlet.routing.Filter.doHandle(Filter.java:156)
     at 
org.restlet.engine.application.StatusFilter.doHandle(StatusFilter.java:151)
     at org.restlet.routing.Filter.handle(Filter.java:203)
     at org.restlet.routing.Filter.doHandle(Filter.java:156)
     at org.restlet.routing.Filter.handle(Filter.java:203)
     at org.restlet.engine.ChainHelper.handle(ChainHelper.java:111)
     at 
org.restlet.engine.application.ApplicationHelper.handle(ApplicationHelper.java:72)
     at org.restlet.Application.handle(Application.java:388)
     at org.restlet.routing.Filter.doHandle(Filter.java:156)
     at org.restlet.routing.Filter.handle(Filter.java:203)
     at org.restlet.routing.Router.doHandle(Router.java:497)
     at org.restlet.routing.Router.handle(Router.java:737)
     at org.restlet.routing.Filter.doHandle(Filter.java:156)
     at org.restlet.routing.Filter.handle(Filter.java:203)
     at org.restlet.routing.Router.doHandle(Router.java:497)
     at org.restlet.routing.Router.handle(Router.java:737)
     at org.restlet.routing.Filter.doHandle(Filter.java:156)
     at 
org.restlet.engine.application.StatusFilter.doHandle(StatusFilter.java:151)
     at org.restlet.routing.Filter.handle(Filter.java:203)
     at org.restlet.routing.Filter.doHandle(Filter.java:156)
     at org.restlet.routing.Filter.handle(Filter.java:203)
     at org.restlet.engine.ChainHelper.handle(ChainHelper.java:111)
     at org.restlet.Component.handle(Component.java:388)
     at org.restlet.Server.handle(Server.java:488)
     at org.restlet.engine.ServerHelper.handle(ServerHelper.java:71)
     at 
org.restlet.engine.http.HttpServerHelper.handle(HttpServerHelper.java:150)
     at 
org.restlet.ext.simple.internal.SimpleContainer.handle(SimpleContainer.java:77)
     at 
org.simpleframework.http.core.Dispatcher.dispatch(Dispatcher.java:107)
     at org.simpleframework.http.core.Dispatcher.run(Dispatcher.java:90)
     at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
     at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:679)
10.04.2012 17:38:31 org.restlet.engine.log.LogFilter afterHandle
INFO: 2012-04-10    17:38:31    192.168.255.106    -    -    80    
GET    /test/indirect    -    500    423    0    336    
http://192.168.0.4    Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) 
Gecko/20100101 Firefox/7.0.1 Iceweasel/7.0.1    -

Did I missed something here?


On 06.04.2012 14:57, Thierry Boileau wrote:
> new ClientResource("http://192.168.0.1/foo";).get().write(System.out);

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2946899

Reply via email to