簡體   English   中英

從Android調用Web Service API但參數丟失錯誤

[英]Calling web service api from android but parameter missing error

我正在嘗試從android應用程序調用網絡服務api,代碼如下所示:

ArrayList<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(2);
nameValuePair.add(new BasicNameValuePair("check", "chk"));
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost post = new HttpPost(HTTP_CHECK);
post.setEntity(new UrlEncodedFormEntity(nameValuePair));
httpClient.execute(post);
HttpResponse httpres = httpClient.execute(post);

這是我在asp.net上的Web服務API

    [WebMethod]
    public string HelloWorld2(String check)
    {
        return "SuccessCheck";
    }

主機服務器是Godaddy。 上述方法以前有效。 但是現在它在應用程序上給出了錯誤-

System.InvalidOperationException:缺少參數:check。

缺少該參數的說法。 該參數作為namevaluepair傳遞。 我不知道是什么問題? 但是,它可以在localhost上完美運行。

沒有任何參數的服務方法在服務器以及本地主機上都可以正常工作。 現在,當我如下更改android代碼時

DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost post = new HttpPost(HTTP_CHECK + "?check=chk");
httpClient.execute(post);
HttpResponse httpres = httpClient.execute(post);

現在,它既可以在服務器上運行,也可以在主機上運行。 當我通過上面給出的URL傳遞參數時,沒有使用名稱/值對。

第一種情況的問題是什么,為什么它突然改變了? 請幫忙。

在第一種情況下,您不會在任何地方使用nameValuePair

添加此位:

post.setEntity(new UrlEncodedFormEntity(nameValuePair)); 在調用httpClient.execute(post);之前httpClient.execute(post);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM