title: cxf webclient - exception [Request processing failed; nested exception is Status : 406
body: <p>I am getting following error(406) while using CXF webclient, but when I use URL api, i am getting expected output.</p>
  
  <pre><code>INFO: Reloading Context with name [/assignment] is completed
  http://localhost:8080/assignment/cxf/login/test/test1
  Result--&gt;&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;&lt;user&gt;    &lt;userName&gt;test&lt;/userName&gt;    &lt;firstName&gt;Mike&lt;/firstName&gt;    &lt;lastName&gt;Tom&lt;/lastName&gt;&lt;/user&gt;
  Aug 02, 2013 11:20:31 PM org.apache.cxf.jaxrs.utils.JAXRSUtils findTargetMethod
  WARNING: No operation matching request path "/assignment/cxf/login/test/test1" is found, Relative Path: /login/test/test1, HTTP Method: GET, ContentType: */*, Accept: application/xml,. Please enable FINE/TRACE log level for more details.
  Aug 02, 2013 11:20:31 PM org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper toResponse
  WARNING: WebApplicationException has been caught : no cause is available
  Aug 02, 2013 11:20:31 PM org.apache.catalina.core.StandardWrapperValve invoke
  SEVERE: Servlet.service() for servlet [dispatcher] in context with path [/assignment] threw exception [Request processing failed; nested exception is Status : 406
  Headers : 
  Date : Sat, 03 Aug 2013 04:20:31 GMT
  Content-Length : 0
  Server : Apache-Coyote/1.1
  ] with root cause
  Status : 406
  Headers : 
  Date : Sat, 03 Aug 2013 04:20:31 GMT
  Content-Length : 0
  Server : Apache-Coyote/1.1
  
      at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:680)
      at org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:324)
      at org.apache.cxf.jaxrs.client.WebClient.get(WebClient.java:421)
      at com.viasat.test.login.servlet.LoginServlet.processLogin(LoginServlet.java:45)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  </code></pre>
  
  <p>My client code is:</p>
  
  <pre><code>        URL url = new URL("http://localhost:8080/assignment/cxf/login/"+name+"/"+password);
          HttpURLConnection conn = (HttpURLConnection) url.openConnection();
          conn.setRequestMethod("GET");
          conn.setRequestProperty("Accept", "application/json");
           BufferedReader br = new BufferedReader(new InputStreamReader(
              (conn.getInputStream())));
          StringBuilder res = new StringBuilder();
          String output;
          while ((output = br.readLine()) != null) {
              res.append(output);
          }
          System.out.println("Result--&gt;"+res.toString());
          WebClient webClient = WebClient.create("http://localhost:8080/assignment/cxf/login/"+name+"/"+password);            
      //  WebClient t = webClient.path("");
          String res = webClient.accept("text/xml").get(String.class);
          System.out.println("=============="+res);
  </code></pre>
  
  <p>Rest endpoint Service class:</p>
  
  <pre><code>@GET
      @Path("/login/{userName}/{password}")
      @Produces({MediaType.APPLICATION_JSON, MediaType.TEXT_XML })
      public String userLogin(@PathParam("userName")String username, @PathParam("password")String password)
              throws JAXBException, PropertyException, FileNotFoundException {
  </code></pre>
  
  <p><strong>Question</strong></p>
  
  <p>1) What changes I need to make, to fix the error</p>
  
  <p>2) To return as Json, what changes I need to make? If I write, conn.setRequestProperty("Accept", "application/xml");I am getting error.</p>