私は入力パラメータとしてカスタムクラスを受け取る 'wcf' restサービスを持っています。私はアンドロイドのプラットフォームを介してこのクラスのオブジェクトデータを送信したい。私はhttpUrlConnection
を使用しました。私はいつもレスポンスコード500を受け取ります。しかし、サービスはWindowsフォームアプリケーションで正しく機能しました。アンドロイドで私のコードはここにある:アンドロイドからwcfへのオブジェクトとしてjsonを送信
HttpURLConnection urlConnection = null;
String jsonString = "";
JSONObject jsonObject = new JSONObject();
JSONObject jsonObject2 = new JSONObject();
try {
jsonObject.put("A","rtrt");
jsonObject2.put("c",jsonObject);
} catch (JSONException e) {
e.printStackTrace();
}
try{
URL url = new URL("http://.../Service1.svc/GetTestData");
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setDoOutput(true);
urlConnection.setDoInput(true);
urlConnection.setRequestMethod("POST");
urlConnection.setRequestProperty("ContentType","applicaiton/json");
urlConnection.setUseCaches(false);
urlConnection.connect();
OutputStream outputStream = new BufferedOutputStream(urlConnection.getOutputStream());
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream, "utf-8"));
writer.write(jsonObject2.toString());
writer.flush();
writer.close();
outputStream.close();
int statusCode = urlConnection.getResponseCode();
// Log.d("TRAFFIC", "err: " + urlConnection.getErrorStream().toString());
これは間違っています。バインディングを変更してwebhttpbindingに設定すると、Wcfサポートが休止します。 –
私はAndroidやAndroidの開発者ですが、この問題に長年かかわっており、Ksoap2は解決策です。 –