:いくつかのより多くの実験を行った後POST(ODataの)
、私はすべての値をJSON文字列に引用されている場合は、要求にのみ動作することを発見しました。それは、これが
{"Text":"test","RatingValue":0.0,"LocationID":5}
を動作しませんと言うことであり、これは
{"Text":"test","RatingValue":"0.0","LocationID":"5"}
何が理由であることを理解していないだろう。最初の文字列は有効なJSON文字列のようです。これはWCFの特質ですか?
オリジナルポスト
私はアンドロイドのコレクションに新しいアイテムを投稿しようとしています。私は400のレスポンスコードを得続けます:悪い要求。私は何が間違っているのか分からず、誰かが私を助けてくれることを望んでいました。ここにJavaコードがあります。
HttpURLConnection conn = (HttpURLConnection) uri.toURL().openConnection();
conn.setRequestProperty("Content-Type", "application/json; charset=utf-8");
conn.setRequestProperty("Accept", "application/json");
conn.setRequestProperty("User-Agent", userAgent);
conn.setChunkedStreamingMode(0);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.connect();
DataOutputStream out = new DataOutputStream(conn.getOutputStream());
out.write(data.getBytes());
out.flush();
int code = conn.getResponseCode();
String message = conn.getResponseMessage();
conn.disconnect();
データは、次のようなJSON文字列です:
{"Text":"test","RatingValue":3.0,"ReviewID":0,"LocationID":5}
ReviewIDが主キーであるこの場合。
リクエストのURLは、レーティングのコレクションを指します。同じ場所をブラウザに貼り付けると、コレクションが正常に照会されます。それは次のようになります。
http://localhost/DataService.svc/Ratings
BORT、uはあなたがこのJSONオブジェクト 'データを準備しているいくつかのコードを投稿することができます'? –
エラー応答の本文にメッセージが返されましたか?もしそうなら、あなたの投稿を編集してそれを含めてください。副作用では、ほとんどのRESTサービスは、作成要求の一部として主キーを受け入れません。サービスはそれを窒息させるかもしれません。 – Perception
詳細なエラーメッセージを有効にして、ここに投稿してください。http://blogs.msdn.com/b/phaniraj/archive/2008/06/18/debugging-ado-net-data-services.aspx –