使用JME(或J2ME)使用REST服务

时间:2009-07-29 18:59:58

标签: xml web-services rest java-me

我需要一些帮助才能开始使用它。

我需要知道如何调用 REST服务解析xml

我的php脚本只返回一些xmlcode,没有别的。(没有wsdl或uddi)

诺基亚5800的平台 S60第三版。(将适用) 诺基亚sdk是同名的。 我为这个项目安装了Netbeans。

我发现的唯一内容是soap based

我可以使用哪些方法/库?

我必须提到我也是java / netbeans的新手。

2 个答案:

答案 0 :(得分:9)

要调用REST Web服务,您可以使用HttpConnection类:

HttpConnection connection = null;
InputStream is = null;

final ByteArrayOutputStream bos = new ByteArrayOutputStream();

byte[] response = null;

try {
    connection = (HttpConnection)Connector.open("http://api.yourserver.com/rest/things/12", Connector.READ);
    connection.setRequestMethod(HttpConnection.GET);

    connection.setRequestProperty("User-Agent", "Profile/MIDP-2.0 Configuration/CLDC-1.1");

    if (connection.getResponseCode() == HttpConnection.HTTP_OK) {
        is = connection.openInputStream();

        if (is != null) {
            int ch = -1;

            while ((ch = is.read()) != -1) {
                bos.write(ch);
            }

            response = bos.toByteArray();
        }
    }
} catch (Exception e) {
    e.printStackTrace();
} finally {
    try {
        if (bos != null) {
            bos.close();
            bos = null;
        }

        if (is != null) {
            is.close();
            is = null;
        }

        if (connection != null) {
            connection.close();
            connection = null;
        }
    } catch (Exception e2) {
        e2.printStackTrace();
    }
}

现在响应将包含您的服务器吐出的XML。

然后,您可以使用kXML2库来解析它。请注意,此库引用了XMLPull库,因此您必须将其包含在项目中。

答案 1 :(得分:2)

我正在使用REST和JSONObject和JSONArrays在Java ME中使用此库Mobile Ajax。是一个简单的REST方法,需要以源代码格式下载并使用Netbeans或ANT编译,这很容易,只需通过SVN检查项目并在页面中进行netbeans(WithXML或WithoutXML)内置是使用REST和Yahoo Maps等公共Web服务的示例!我希望你喜欢它。