title: UnrecognizedPropertyException in Jersey Test Framework
body: <p>I am new to Jersey test framework. I am trying to implement test cases using jersey test framework in my project. I have a REST service whose url will be :</p>
  
  <p><code>http://localhost:8080/EzSupportBackend/a/dealerservices/getdealerdetails/FAB/ACZOKuBmtvyni16eMJ3AoSVg_HxL3bh3Lz0WiWNJhXudh9M90LSc8bDHD-Y2JpcbISZcC_DM2PL4yqSsmXUKA65ZmvuoiQ_wotgU1OvA8GGw_yPMwVnXGg==</code></p>
  
  <p>I tried to test this service using Jersey with the below code:</p>
  
  <pre><code>public class DealerServicesTest extends JerseyTest{
  @Override
  protected AppDescriptor  configure() {
      return new WebAppDescriptor.Builder().build();
  }
  
  @Test
  public void testGetDealerDetails() throws JSONException,URISyntaxException {
      WebResource webResource = client().resource("http://localhost:8080/");
      JSONObject json = webResource.path("EzSupportBackend/a/dealerservices/getdealerdetails/FAB/ACZOKuBmtvyni16eMJ3AoSVg_HxL3bh3Lz0WiWNJhXudh9M90LSc8bDHD-Y2JpcbISZcC_DM2PL4yqSsmXUKA65ZmvuoiQ_wotgU1OvA8GGw_yPMwVnXGg==").get(JSONObject.class);
  
      assertEquals("ONLINE", json.get("companyType"));
      assertEquals("FabFurnish", json.get("companyName"));        
      assertEquals("Gurgoan,Haryana, India", json.get("companyAddress"));
      assertEquals("04222456803", json.get("phoneNumber"));
      assertEquals("ACTIVE", json.get("status"));     
      assertEquals("customerservice@fabfurnish.com", json.get("emailId"));
  }
  }
  </code></pre>
  
  <p>When i test the service thro Postman (Chrome Extension) , i get a proper response as below:</p>
  
  <pre><code>{
    "companyType": "ONLINE",
    "companyName": "FabFurnish",
    "companyAddress": "Gurgoan,Haryana, India",
    "companyLocation": null,
    "longitude": "77.023419",
    "phoneNumber": "04222456803",
    "serviceRating": 0,
    "repairRating": 0,
    "warrantyRating": 0,
    "shopRating": 0,
    "status": "ACTIVE",
    "createdOn": 1446613095557,
    "updatedOn": 1446613095557,
    "companyId": "FAB",
    "lattitde": "28.47427",
    "emailId": "customerservice@fabfurnish.com",
    "createdby": null,
    "updatedby": null
  }
  </code></pre>
  
  <p>But thro this test i get the below exception:</p>
  
  <pre><code>com.sun.jersey.api.client.ClientHandlerException:     com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "companyType" (class org.json.JSONObject), not marked as ignorable (0 known properties: ])
   at [Source: sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@45b4c3a9; line: 1, column: 17] (through reference chain: org.json.JSONObject["companyType"])
      at com.sun.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:563)
      at com.sun.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:506)
      at com.sun.jersey.api.client.WebResource.handle(WebResource.java:674)
      at com.sun.jersey.api.client.WebResource.get(WebResource.java:191)
      at com.vs.mhs.ezsupport.services.DealerServicesTest.testGetDealerDetails(DealerServicesTest.java:27)
  </code></pre>
  
  <p>Anyone can help me figure out why?? </p>
  
  <p>EDIT:
  My code looks like below:</p>
  
  <pre><code>@PermitAll
  @GET
  @Path("/getdealerdetails/{companyId}/{token_id}")
  public Response getDealerDetails(@PathParam("companyId") String companyId, @Context SecurityContext userContext, @Context HttpServletRequest request){
      boolean isUserAuthorised = isUserAuthenticated(userContext);
      DealerDetails dealer = null;
      DealerDetailsView getDealerView = null;
      if(isUserAuthorised){
          EntityManager em = (EntityManager) request.getAttribute(FilterConstants.ENTITYMANAGER);
          DealerDetailsBDL dealerbdl = new DealerDetailsBDL(em);
          dealer = dealerbdl.getDealerDetails(companyId);
          getDealerView = new DealerDetailsView(dealer);
      }
      return Response.ok(getDealerView).build();          
  }
  </code></pre>
  
  <p>DealerDetailsView is a class with private variables for the properties i ve listed below and getters and setters:</p>
  
  <pre><code>private String companyid;
  private String companyType;
  private String companyName;
  private String companyAddress;
  private String companyLocation;
  private String lattitude;
  private String longitude;
  private String phoneNumber;
  private String emailid;
  private int serviceRating;
  private int repairRating;
  private int warrantyRating;
  private int shopRating;
  private String status;
  </code></pre>