1

jsonを使用してwcfサービスを構築しました。fiddlerでデバッグしているので問題なく動作すると思います。Androidから正しく呼び出すことはできません。パラメーターを渡そうとすると、何か間違ったことをしているに違いないと思います。 。これはフィドラーリクエストです:

リクエストヘッダー:

ユーザーエージェント:フィドラーホスト:androidwcf.schoolportal.grコンテンツタイプ:application / jsonコンテンツ長:73

リクエスト本文:

{"ID":2147483647、 "description": "文字列コンテンツ"、 "enable":true}

このjsonオブジェクトをAndroidのパラメーターとして渡すにはどうすればよいですか?お時間をいただきありがとうございます。

4

1 に答える 1

1

現在のjsonオブジェクトをサーバーに投稿するためにtiとして試してください:

    StringBuilder sb = new StringBuilder();  

    String http = "YOUR_WEB_URL";  
    //System.out.println("-----------------" + http+"?"+param);  
    HttpURLConnection urlConnection=null;  
    try {  
        URL url = new URL(http);  
         urlConnection = (HttpURLConnection) url  
                .openConnection();
        urlConnection.setDoOutput(true);   
        urlConnection.setRequestProperty("User-Agent", "Fiddler");  
        urlConnection.setRequestMethod("POST");  
        urlConnection.setUseCaches(false);  
        urlConnection.setConnectTimeout(10000);  
        urlConnection.setReadTimeout(10000);  
        urlConnection.setRequestProperty("Content-Type","application/json");   
        urlConnection.setRequestProperty("Content-Length","73");
        urlConnection.setRequestProperty("Host", "androidwcf.schoolportal.gr");
        urlConnection.connect();  

         //Create JSONObject here
        JSONObject jsonParam = new JSONObject();
        jsonParam.put("ID", "25");
        jsonParam.put("description", "String content");
        jsonParam.put("enable", "true");
        OutputStreamWriter out = new   OutputStreamWriter(urlConnection.getOutputStream());
        out.write(jsonParam.toString());
        out.close();  

        int HttpResult =urlConnection.getResponseCode();  
        if(HttpResult ==HttpURLConnection.HTTP_OK){  
            BufferedReader br = new BufferedReader(new InputStreamReader(  
                    urlConnection.getInputStream(),"utf-8"));  
            String line = null;  
            while ((line = br.readLine()) != null) {  
                sb.append(line + "\n");  
            }  
            br.close();  

                System.out.println(""+sb.toString());  

        }else{  
            log.warn(urlConnection.getResponseMessage());  
        }  
    } catch (MalformedURLException e) {  

        e.printStackTrace();  
    }  
    catch (IOException e) {  

        e.printStackTrace();  
    }finally{  
        if(urlConnection!=null)  
           urlConnection.disconnect();  
    }  

}   
于 2012-12-05T16:19:52.143 に答える