私はアンドロイドアプリケーションを持っています。WCF Web サービスにリクエストを送信したいと考えています。
サービスは次のとおりです。
[OperationContract]
Message submitData(Stream streamdata);
[WebInvoke(Method = "POST",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "submitData")]
public Message submitData(Stream streamdata)
{
StreamReader reader = new StreamReader(streamdata);
string jsonString = reader.ReadToEnd();
reader.Close();
reader.Dispose();
return WebOperationContext.Current.CreateTextResponse(JsonSyncManager.submitVotes(jsonString), "application/json; charset=utf-8", Encoding.UTF8);
}
Fiddler でサービスを試したところ、正しく機能していました。
ただし、私のアプリから次のことを試します
JSONObject j = new JSONObject();
j.put("voters", "test");
String url = "http://127.0.0.1:8733/Service/submitData";
HttpClient httpclient = new DefaultHttpClient();
HttpPost request = new HttpPost(url);
StringEntity s = new StringEntity(j.toString(), "UTF-8");
s.setContentType("application/json;charset=UTF-8");
request.setHeader("Accept", "application/json");
request.setHeader("Content-Type", "application/json; charset=utf-8");
request.setEntity(s);
HttpResponse response = httpclient.execute(request);
しかし、私は常に Bad request エラーを受け取ります。サービスに到達しません (ブレークポイントに入りません)。
問題が何であるか考えていますか?
ありがとう