【问题标题】:Calling Java RESTful webservice in Android在 Android 中调用 Java RESTful Web 服务
【发布时间】:2012-04-29 02:46:15
【问题描述】:

我创建了一个Java Restful Web 服务。现在我想在 Android 中访问它。 Webservice中有不同的方法。 Web 服务正在 http://192.15.10.62:8080 上运行。 我应该如何在 webservice 中调用一个名为 getGreetingMsg() 的方法,该方法接受一个字符串参数并返回一个简单的字符串消息。

网络服务详情

项目名称RestFulWS

包名称rest.ws.server

类名helloAndroid

方法名称getGreetingMsg(字符串参数)

我们将不胜感激。

【问题讨论】:

  • 这不是 RESTful 服务 ...
  • @Selvin 为什么这有什么问题
  • RESTful 服务没有方法 .... 该服务使用 http 方法
  • 这是我的方法 @GET @Produces(MediaType.TEXT_PLAIN) public String getGreetingMsg(String mesg) { return "Hello User"; }

标签: java android web-services rest


【解决方案1】:

只需使用像 AndroidHttpClient 这样的 HTTP 客户端。

编辑: RESTful Web 服务可通过如下 URL 访问:

http://yourserver/someservice/<categoryID>/<objectID>

因此,您可以从 Internet Explorer 或 Mozilla Firefox 等网络浏览器测试您的网络服务。

然后,在 Android 上,使用 HTTP Get 请求和 AndroidHttpClient。

别忘了在你的 AndroidManifest.xml 中设置 INTERNET 权限

【讨论】:

  • 你能告诉我categoryID和ObjectID是什么
  • 这只是一个一般的例子。 是变量。在您的情况下,URL 可能类似于:yourserver/helloAndroid/getGreetingMsg/<argument>
  • 我正在通过10.99.17.103:8081/hello/sayPlainTextHello/my_string_argument HttpClient httpclient = new DefaultHttpClient(); 访问网络服务--------- HttpGet httpget = new HttpGet(url); ---------- response = httpclient.execute(httpget); -------- 但我在最后一行出现错误... 例外是目标主机不能为空
  • 您是在手机还是模拟器上进行测试?此外,您是否尝试过从网络浏览器访问此 URL?
【解决方案2】:

这取决于您使用的 Web 服务器,因为每种类型的服务器都有自己的 URL 来托管在其上的服务。如果您使用的是 JBOSS 服务器,那么您的 URL 如下所示 IP:PORT/projectname/webservicename/方法名

【讨论】:

    【解决方案3】:

    听起来您不确定如何使用自己的 API。如果您的 API 支持 GET,请打开 Web 浏览器并尝试一些 GET 命令。一旦 GET 语句正常工作,请完成本教程:http://sarangasl.blogspot.com/2011/06/android-login-screen-using-httpclient.html

    设置好 POST 后,关闭网络服务器中的 GET。

    祝你好运!

    分贝

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-28
      • 2011-08-28
      • 2016-06-23
      • 1970-01-01
      • 2018-01-21
      • 2011-06-17
      • 1970-01-01
      相关资源
      最近更新 更多