【问题标题】:Unknown error while calling Web API from Android从 Android 调用 Web API 时出现未知错误
【发布时间】:2016-02-18 11:31:43
【问题描述】:

我正在尝试使用以下代码发送 JSONObject 作为 C# Web API 的输入参数

protected String doInBackground(JSONObject... companyInfo) {

    try {
        URL url;
        URLConnection urlConn;

        url = new URL(HOST_NAME + WEB_API_METHOD);

        urlConn = url.openConnection();
        urlConn.setDoInput(true);
        urlConn.setDoOutput(true);
        urlConn.setUseCaches(false);
        urlConn.setRequestProperty("Content-Type", "application/json");
        urlConn.setRequestProperty("Host", HOST_NAME);
        urlConn.connect();

        PrintWriter out = new PrintWriter(urlConn.getOutputStream());
        out.print(companyInfo[0]);
        out.close();

        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));
        StringBuilder stringBuilder = new StringBuilder();
        String line;
        while ((line = bufferedReader.readLine()) != null) {
            stringBuilder.append(line).append("\n");
        }
        bufferedReader.close();

        Log.i("companyInfo > ", stringBuilder.toString());
    }
    catch (Exception ex)
    {
        Log.e("Exception", ex.getLocalizedMessage());
    }
    return null;
}

调用此方法时,该方法不会执行,当我尝试捕获错误时,我没有收到有意义的消息。它显示了 URL 名称,仅此而已。

我无法找到问题,我们将不胜感激。

这是我遇到的错误

java.io.FileNotFoundException: http://MY_FULL_URL
     at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:238)
     at com.fourtyninetons.NewCompanyActivity$saveCompanyProfile.doInBackground(NewCompanyActivity.java:103)
     at com.fourtyninetons.NewCompanyActivity$saveCompanyProfile.doInBackground(NewCompanyActivity.java:70)
     at android.os.AsyncTask$2.call(AsyncTask.java:295)
     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
     at java.lang.Thread.run(Thread.java:818)

拉克什曼。

【问题讨论】:

  • ex.printStackTrace() ?
  • 在这里更新错误
  • ex.printstackTrace()java.io.FileNotFoundException: FULL_URL_OF_WEB_API
  • @MuchOverflow ex.printStackTrace 工作,我收到了上述消息。
  • 问题已解决@Yazan。请参阅下面的答案。谢谢

标签: android android-asynctask


【解决方案1】:

this问题的解决方案中提到,问题出在web api方法和后端数据库上。 Fiddler 帮我解决了这个问题,上面的代码运行良好。

有用的提示:当任何人得到这个FileNotFoundExceptionuser POSTMAN 或 FIDDLER 来执行该方法并查找错误时。

感谢所有尝试解决此问题的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多