0

を使用RestFul WebserviceJBoss Serverてアプリをデプロイし、作成してテストケースを作成したことをJSONObjectテストします.jsonオブジェクトをに渡すと、テストケースからWebサービスに渡すときにハングアップしましたそれを応答と呼びますが、文字列を渡して試しても値に応答します。私は次のように使用しましたweb serviceweb serviceJSONobject@post serviceNull Pointer ExceptionnullAnnotationswebservice

@consumes({Mediatype.APPLICATION_JSON})

@Consumes("application/json")

テスト ケース As:

    @Test
   public void testgetmsg() {
    String msg = "{\"patient\":[{\"id\":\"6\",\"title\":\"Test\"}]}";
    try {
        JSONObject obj = new JSONObject(new JSONTokener(msg));
            WebResource resource = client.resource( "https://localhost:8443/../../resources/create");
        ClientResponse response = resource.type(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON).
                        entity(obj).post(ClientResponse.class,JSONObject.class);
                 }
    }

先に進むように私を導くことができる体はありますか?

前もって感謝します

4

2 に答える 2

0
//CLIENT

public static void createStudent() {
    String input = "{\"id\":12,\"firstName\":\"Fade To Black\",\"lastName\":\"Joy\"}";
    ClientResponse response = service.path("class/post")
            .type("application/json").post(ClientResponse.class, input);
    System.out.println("Output from Server .... \n");
    String output = response.getEntity(String.class);
    System.out.println(output);
    System.out.println(response.getStatus()+ "OK");
}

コード クライアントを使用する代わりに、add on firefox (POSTER) を使用して、json または formparam として値を渡すことができます...

  // create new student SERVER
   //class

   @POST
   @Path("post")
   @Consumes(MediaType.APPLICATION_JSON)
   @Produces(MediaType.APPLICATION_JSON)
   public Response createStudent(Student st) {
       // add new student 
       StudentDAO.instance.getModelStudent().put("8", st);
       // response status code
       return Response.status(200).entity(st).build();
    }
于 2015-01-05T08:03:29.427 に答える
0

json オブジェクトを作成する必要はありません。文字列を渡すだけです。

あなたがすべき

 ClientResponse response = resource.type(MediaType.APPLICATION_JSON)
                                   .accept(MediaType.APPLICATION_JSON)
                                   .post(ClientResponse.class, msg);
于 2013-01-03T15:17:08.007 に答える