@@ -0,0 +1,2823 @@
+package org.jboss.resteasy.test;%0A%0Aimport junit.framework.Assert;%0Aimport org.jboss.resteasy.client.ClientRequest;%0Aimport org.jboss.resteasy.client.ClientResponse;%0Aimport org.jboss.resteasy.spi.ResteasyDeployment;%0Aimport org.junit.After;%0Aimport org.junit.Before;%0Aimport org.junit.Test;%0A%0Aimport javax.ws.rs.GET;%0Aimport javax.ws.rs.Path;%0Aimport javax.ws.rs.Produces;%0Aimport java.lang.reflect.InvocationHandler;%0Aimport java.lang.reflect.Method;%0Aimport java.lang.reflect.Proxy;%0A%0A/**%0A * 09 26 2012%0A *%0A * @author %3Ca href=%22mailto:l.weinan@gmail.com%22%3EWeinan Li%3C/a%3E%0A */%0Apublic class MultipleInterfaceProxyTest %7B%0A%0A    protected ResteasyDeployment deployment;%0A%0A      public interface Intf1%0A      %7B%0A         @GET%0A         @Produces(%22text/plain%22)%0A         @Path(%22hello1%22)%0A         public String resourceMethod1();%0A      %7D%0A%0A      public interface Intf2%0A      %7B%0A         @GET%0A         @Produces(%22text/plain%22)%0A         @Path(%22hello2%22)%0A         public String resourceMethod2();%0A      %7D%0A%0A      @Path(%22/%22)%0A      static public class TestResource%0A      %7B%0A         @Produces(%22text/plain%22)%0A         @Path(%22test%22)%0A         public Object resourceLocator()%0A         %7B%0A            Object proxy = Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(),%0A                    new Class%5B%5D%7BIntf1.class, Intf2.class%7D,%0A                    new TestInvocationHandler());%0A            return proxy;%0A         %7D%0A      %7D%0A%0A      static class TestInvocationHandler implements InvocationHandler%0A      %7B%0A         @Override%0A         public Object invoke(Object proxy, Method method, Object%5B%5D args) throws Throwable%0A         %7B%0A            System.out.println(%22entered proxied subresource%22);%0A            return method.getName();%0A         %7D%0A      %7D%0A%0A      @Before%0A      public void before() throws Exception%0A      %7B%0A         deployment = EmbeddedContainer.start();%0A         deployment.getRegistry().addPerRequestResource(TestResource.class);%0A      %7D%0A%0A      @After%0A      public void after() throws Exception%0A      %7B%0A         EmbeddedContainer.stop();%0A         deployment = null;%0A      %7D%0A%0A      @Test%0A      public void test() throws Exception%0A      %7B%0A         ClientRequest request = new ClientRequest(%22http://localhost:8081/test/hello1/%22);%0A         ClientResponse%3CString%3E response = request.get(String.class);%0A         System.out.println(%22Received first response: %22 + response.getEntity());%0A         Assert.assertEquals(200, response.getStatus());%0A         Assert.assertEquals(%22resourceMethod1%22, response.getEntity());%0A%0A         request = new ClientRequest(%22http://localhost:8081/test/hello2/%22);%0A         response = request.get(String.class);%0A         System.out.println(%22Received second response: %22 + response.getEntity());%0A         Assert.assertEquals(200, response.getStatus());%0A         Assert.assertEquals(%22resourceMethod2%22, response.getEntity());%0A      %7D%0A%7D

add testcase for RESTEASY-747