title: HTTP 400 Bad Request : javax.ws.rs.BadRequestException
body: <p>I create a RESTful web service and write a client to use it . but when I run it i take HTTP 400 Bad Request : javax.ws.rs.BadRequestException  exeption . this is my client code :</p>
  
  <pre><code>    String webserviceURI = "http://localhost:8084/fsc-access";
  
  ClientConfig clientConfig = new ClientConfig();
  Client client = ClientBuilder.newClient(clientConfig);
  URI serviceURI = UriBuilder.fromUri(webserviceURI).build();
  WebTarget webTarget = client.target(serviceURI);
  MultivaluedMap formData = new MultivaluedMapImpl();
  formData.add("plate", plate);
  formData.add("startTime", start.toString());
  formData.add("endTime", end.toString());
  Weightings weightings = new Weightings();
   weightings.getWeightings().addAll((Collection&lt;? extends Weighting&gt;) webTarget.path("rest").path("report").path("loadWeightingByPlate").
          request().accept(MediaType.APPLICATION_XML).post(javax.ws.rs.client.Entity.form(formData), Weightings.class));
  </code></pre>
  
  <p>and this is my web Service :</p>
  
  <pre><code>@Path("/report")
  public class WeightingRESTfulService {
  
  @POST
  @Path("/loadWeightingByPlate")
  @Produces(MediaType.APPLICATION_XML)
  @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
  public Weightings LoadWeightingInSpecTimeInSpecPlate(
          @FormParam("plate") String plate,
          @FormParam("startTime") String _startTime,
          @FormParam("endTime") String _endTime,
          @Context HttpServletRequest req) {
      Long startTime = new Long(_startTime);
      Long endTime = new Long(_endTime);
      try {
          Weightings weightings = new Weightings();
          weightings.getWeightings().addAll(Weighting.LoadWeightingInSpecTimeInSpecPlate(startTime, endTime, plate));
          System.out.println("no error");
          return weightings;
      } catch (Exception ex) {
          System.out.println("Exception = " + ex);
          return null;
      }
  }
  }
  </code></pre>
  
  <p>can any one help me to use this web Service ?</p>
  
  <p>there is some warning : </p>
  
  <blockquote>
    <p>21-Aug-2015 23:18:11.797 WARNING [http-nio-8084-exec-123] org.glassfish.jersey.servlet.WebComponent.filterFormParameters A servlet request to the URI <a href="http://localhost:8084/fsc-access/rest/report/loadWeightingByPlate" rel="nofollow">http://localhost:8084/fsc-access/rest/report/loadWeightingByPlate</a> contains form parameters in the request body but the request body has been consumed by the servlet or a servlet filter accessing the request parameters. Only resource methods using @FormParam will work as expected. Resource methods consuming the request body by other means will not work as expected.</p>
  </blockquote>
  
  <p>and there is som exeprions : </p>
  
  <blockquote>
    <p>Exception in thread "C3P0PooledConnectionPoolManager[identityToken->1hge1379bmmvkmpse6n4w|7936e088]-AdminTaskTimer" java.lang.IllegalStateException: Can't overwrite cause with java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already.  Could not load com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
        at java.lang.Throwable.initCause(Throwable.java:457)
        at org.apache.catalina.loader.WebappClassLoader.checkStateForClassLoading(WebappClassLoader.java:1335)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1216)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1177)
        at com.mchange.v2.resourcepool.BasicResourcePool.destroyResource(BasicResourcePool.java:1040)
        at com.mchange.v2.resourcepool.BasicResourcePool.removeResource(BasicResourcePool.java:1507)
        at com.mchange.v2.resourcepool.BasicResourcePool.removeResource(BasicResourcePool.java:1477)
        at com.mchange.v2.resourcepool.BasicResourcePool.cullExpired(BasicResourcePool.java:1565)
        at com.mchange.v2.resourcepool.BasicResourcePool.access$1900(BasicResourcePool.java:44)
        at com.mchange.v2.resourcepool.BasicResourcePool$CullTask.run(BasicResourcePool.java:2089)
        at java.util.TimerThread.mainLoop(Timer.java:555)
        at java.util.TimerThread.run(Timer.java:505)
    Caused by: java.lang.ClassNotFoundException
        at org.apache.catalina.loader.WebappClassLoader.checkStateForClassLoading(WebappClassLoader.java:1334)
        ... 10 more
    Exception in thread "C3P0PooledConnectionPoolManager[identityToken->1hge1379bmmw228sz1sso|53826b99]-AdminTaskTimer" java.lang.IllegalStateException: Can't overwrite cause with java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already.  Could not load com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
        at java.lang.Throwable.initCause(Throwable.java:457)
        at org.apache.catalina.loader.WebappClassLoader.checkStateForClassLoading(WebappClassLoader.java:1335)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1216)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1177)
        at com.mchange.v2.resourcepool.BasicResourcePool.destroyResource(BasicResourcePool.java:1040)
        at com.mchange.v2.resourcepool.BasicResourcePool.removeResource(BasicResourcePool.java:1507)
        at com.mchange.v2.resourcepool.BasicResourcePool.removeResource(BasicResourcePool.java:1477)
        at com.mchange.v2.resourcepool.BasicResourcePool.cullExpired(BasicResourcePool.java:1565)
        at com.mchange.v2.resourcepool.BasicResourcePool.access$1900(BasicResourcePool.java:44)
        at com.mchange.v2.resourcepool.BasicResourcePool$CullTask.run(BasicResourcePool.java:2089)
        at java.util.TimerThread.mainLoop(Timer.java:555)
        at java.util.TimerThread.run(Timer.java:505)
    Caused by: java.lang.ClassNotFoundException
        at org.apache.catalina.loader.WebappClassLoader.checkStateForClassLoading(WebappClassLoader.java:1334)
        ... 10 more</p>
  </blockquote>
  
  <p>loggingfilter :</p>
  
  <pre><code>22-Aug-2015 00:32:32.969 INFO [http-nio-8084-exec-37] org.glassfish.jersey.filter.LoggingFilter.log 1 * Sending client request on thread http-nio-8084-exec-37
  1 &gt; POST http://localhost:8084/fsc-access/rest/report/loadWeightingByPlate
  1 &gt; Accept: application/xml
  1 &gt; Content-Type: application/x-www-form-urlencoded
  
  22-Aug-2015 00:32:33.015 INFO [http-nio-8084-exec-37] org.glassfish.jersey.filter.LoggingFilter.log 2 * Client response received on thread http-nio-8084-exec-37    
  2 &lt; 200
      2 &lt; Content-Length: 1026
      2 &lt; Content-Type: application/xml
      2 &lt; Date: Fri, 21 Aug 2015 19:54:48 GMT
      2 &lt; Server: Apache-Coyote/1.1
  </code></pre>