title: restful webservice public constructor not found
body: <p>I am trying to invoke restful webservice using a client web application(simple client request from JSF MB). I need to create an interface for the webservice and then invoke the method in it. But if i use @Path at interface, its giving an error - public constructor not found during Jboss deployment. But If i give give @Path at implementation class. It is invoking the service fine and is working properly. I need to have a Java interface between Rest client and Restful webservice impl classes. Can anyone help? can we have Rest interface or something?</p>
  
  <p>Client side:</p>
  
  <pre><code>ClientRequest request = new ClientRequest("localhost:8080/RESTfulExample/json/...../"); 
  ClientResponse&lt;String&gt; response = request.get(String.class);
  </code></pre>
  
  <p>RestInterface:</p>
  
  <pre><code>package com.nee.interfaces; 
  import javax.ws.rs.Path; 
  import javax.ws.rs.GET; 
  
  @Path("/OrderManagementService") 
  public interface OrderManagementServiceInterface { 
      @GET
      @Path("/GetListOfOrders") 
      void getListOfOrders(); 
  }
  </code></pre>
  
  <p>IMPL:</p>
  
  <pre><code>package com.nee.implementations;
  import com.nee.interfaces.OrderManagementServiceInterface;
  
  
  public class OrderManagementServiceImpl implements OrderManagementServiceInterface {
      public void getListOfOrders() {
          System.out.println("am here");
      }
  }
  </code></pre>
  
  <p>web.xml            </p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;web-app version="2.4"
      xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"&gt;
  &lt;context-param&gt;
      &lt;param-name&gt;resteasy.resources&lt;/param-name&gt;
      &lt;param-value&gt;
          com.nee.interfaces.OrderManagementServiceInterface
      &lt;/param-value&gt;
  &lt;/context-param&gt;
  
  &lt;!-- this has to match with resteasy-servlet url-pattern --&gt;
  
  &lt;context-param&gt;
      &lt;param-name&gt;resteasy.servlet.mapping.prefix&lt;/param-name&gt;
      &lt;param-value&gt;/rest&lt;/param-value&gt;
  &lt;/context-param&gt;
  
  &lt;!-- to return data according to extension --&gt;
  
  &lt;context-param&gt;
      &lt;param-name&gt;resteasy.media.type.mappings&lt;/param-name&gt;
      &lt;param-value&gt;json : application/json, xml : application/xml&lt;/param-value&gt;
  &lt;/context-param&gt;
  
  &lt;listener&gt;
      &lt;listener-class&gt;
          org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
      &lt;/listener-class&gt;
  &lt;/listener&gt;
  
  &lt;servlet&gt;
      &lt;servlet-name&gt;resteasy-servlet&lt;/servlet-name&gt;
      &lt;servlet-class&gt;
          org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
      &lt;/servlet-class&gt;
  &lt;/servlet&gt;
  
  &lt;servlet-mapping&gt;
      &lt;servlet-name&gt;resteasy-servlet&lt;/servlet-name&gt;
      &lt;url-pattern&gt;/rest/*&lt;/url-pattern&gt;
  &lt;/servlet-mapping&gt;
  &lt;/web-app&gt;
  </code></pre>
  
  <p>Logs:</p>
  
  <pre><code>[org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/web]]
  (MSC service thread 1-2) Exception sending context initialized event to listener instance of class
  org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap: java.lang.RuntimeException: Unable to find a public constructor for class com.seagate.interfaces.OrderManagementServiceInterface
  at org.jboss.resteasy.plugins.server.resourcefactory.POJOResourceFactory.registered(POJOResourceFactory.java:35) [resteasy-jaxrs-2.3.3.Final-redhat-1.jar:2.3.3.Final-redhat-1]
  at org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:120) [resteasy-jaxrs-2.3.3.Final-redhat-1.jar:2.3.3.Final-redhat-1]
  at org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:106) [resteasy-jaxrs-2.3.3.Final-redhat-1.jar:2.3.3.Final-redhat-1]
  at org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:83) [resteasy-jaxrs-2.3.3.Final-redhat-1.jar:2.3.3.Final-redhat-1]
  at org.jboss.resteasy.core.ResourceMethodRegistry.addPerRequestResource(ResourceMethodRegistry.java:72) [resteasy-jaxrs-2.3.3.Final-redhat-1.jar:2.3.3.Final-redhat-1]
  at org.jboss.resteasy.spi.ResteasyDeployment.registration(ResteasyDeployment.java:383) [resteasy-jaxrs-2.3.3.Final-redhat-1.jar:2.3.3.Final-redhat-1]
  at org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:225) [resteasy-jaxrs-2.3.3.Final-redhat-1.jar:2.3.3.Final-redhat-1]
  at org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap.contextInitialized(ResteasyBootstrap.java:28) [resteasy-jaxrs-2.3.3.Final-redhat-1.jar:2.3.3.Final-redhat-1]
  at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3392) [jbossweb-7.0.16.Final-redhat-1.jar:]
  at org.apache.catalina.core.StandardContext.start(StandardContext.java:3850) [jbossweb-7.0.16.Final-redhat-1.jar:]
  at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.2.Final-redhat-1.jar:7.1.2.Final-redhat-1]
  at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
  at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)[rt.jar:1.7.0_09]
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0_09]
  at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_09]
  </code></pre>