1

たとえば、投稿するいくつかのメソッドを備えたwcfサービスがあります。

[OperationContract]
    [WebGet(
        UriTemplate = "GetPlates",
        BodyStyle = WebMessageBodyStyle.WrappedRequest,
        ResponseFormat = WebMessageFormat.Json,
        RequestFormat = WebMessageFormat.Json)]
    IList<string> GetPlates();

クラス

   public IList<string> GetPlates()
    {
        return new List<string>
                   {
                       "ag",
                       "asda"
                   };
    }

活動中

try {


             // Send GET request to <service>/GetPlates
            HttpGet request = new HttpGet(SERVICE_URI + "/GetPlates");
            request.setHeader("Accept", "application/json");
            request.setHeader("Content-type", "application/json");

            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpResponse response = httpClient.execute(request);

            HttpEntity responseEntity = response.getEntity();

            // Read response data into buffer
            char[] buffer = new char[(int)responseEntity.getContentLength()];
            InputStream stream = responseEntity.getContent();
            InputStreamReader reader = new InputStreamReader(stream);
            reader.read(buffer);
            stream.close();

            JSONArray plates = new JSONArray(new String(buffer));


        } catch (Exception e) {

            e.printStackTrace();
        }

私は毎回nullになります。ブラウザまたはエミュレータから URL にアクセスすると、["ag","asda"] が表示されます。

4

1 に答える 1

0

こんにちは、次のコードを試してください

ここでチュートリアルを参照できます

    class RetreiveFeedTask extends AsyncTask<String, Void, RSSFeed> {

    private Exception exception;

    protected RSSFeed doInBackground(String... urls) {
    try {


         // Send GET request to <service>/GetPlates
        HttpGet request = new HttpGet(SERVICE_URI + "/GetPlates");
        request.setHeader("Accept", "application/json");
        request.setHeader("Content-type", "application/json");

        DefaultHttpClient httpClient = new DefaultHttpClient();
        HttpResponse response = httpClient.execute(request);

        HttpEntity responseEntity = response.getEntity();

        // Read response data into buffer
        char[] buffer = new char[(int)responseEntity.getContentLength()];
        InputStream stream = responseEntity.getContent();
        InputStreamReader reader = new InputStreamReader(stream);
        reader.read(buffer);
        stream.close();

        JSONArray plates = new JSONArray(new String(buffer));


    } catch (Exception e) {

        e.printStackTrace();
    }

   protected void onPostExecute(RSSFeed feed) {
     // TODO: check this.exception 
    // TODO: do something with the feed
    }
  }

  new RetreiveFeedTask().execute(urlToRssFeed);
于 2013-03-01T10:21:06.527 に答える