"POST"メソッドを使用してJava Rest Webサービスを実行しようとしていますが、渡されたパラメータにアクセスできません。ここで私のクライアントはWebサービスを呼び出す部分です。ポストメソッドによるJava Rest Webサービス
public static void main(String[] args) {
try {
Client client = Client.create();
WebResource webResource = client.resource("http://localhost:8080/wsRevDash/rest/post/testing");
Form form=new Form();
form.add("sc","pqr");
ClientResponse response = webResource.type("application/json")
.post(ClientResponse.class,form);
if (response.getStatus() != 201) {
throw new RuntimeException("Failed : HTTP error code : "
+ response.getStatus());
}
System.out.println("Output from Server .... \n");
String output = response.getEntity(String.class);
System.out.println(output);
} catch (Exception e) {
e.printStackTrace();
}
}
ここに私のJava Rest Webサービスがあります。
@POST
@Path("testing")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public String createDataInJSON(@FormParam("sc") String data) {
System.out.println("Hello"+data);
JSONObject jObjDevice = new JSONObject();
jObjDevice.put("Hello",data);
return jObjDevice.toJSONString();
}
私がSoapUIで実行すると、{"Hello":null}が表示されます。 これに対処する方法を教えてください。
String input = new Gson().toJson(form);
をし、応答にinput
を渡す:
SOAPUI ...残り:
とは、Webサービスでは、それの前にスラッシュが含まれます。なぜその混合?残りの部分をテストするにははるかに優れたツールがあります。 手順1:(デバッグ時に)休憩サービスを実行し、残りのクライアントを使用して連絡を取ろうとします。それがうまくいけば、次の手順に進みます。 – Stultuske
Webサービスは、パラメータを渡すことなく正常に動作しますが、パラメータにアクセスするのは困難です。 –
がパラメータのタイプかもしれません。 PathParamまたはRequestParamを試してみましたか? – Stultuske