xml – 如何从Java ME应用程序中使用ASP.NET Web API

我创建了一个java ME应用程序(原型),现在我需要从MIDlet中使用我的WEB API服务.
首先,是否有可能从MIDlet中使用Web API服务?我已经将我的WCF转换为Web API,这样我就可以让我的J2ME应用程序以更直接的方式访问我的服务.问题是我不知道如何从MIDlet调用我的Web API方法.你有没有做过类似的事情?你有可以分享的链接吗?

编辑:

我已经找到了如何从Web API中使用方法,但仍然不知道如何将我从Web API获得的内容转换为我可以在移动屏幕上真正显示的内容

这是我正在使用的代码:

HttpConnection connection = null;
InputStream is = null;

final ByteArrayOutputStream bos = new ByteArrayOutputStream();

byte[] response = null;

try {
    connection = (HttpConnection)Connector.open("http://myminimarket/api/customers/GetCustomers",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();            
        }

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

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

这是我从GetCustomers获得的XML的一个例子:

<ArrayOfCustomer xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WSWebAPI.Helpers">
<Customer>
<codigoCli>30</codigoCli>
<direccion>MCDO. SAN MARTIN PSTO. Nº 06</direccion>
<nroID>26626315</nroID>
<nroTelef>365548</nroTelef>
<razonSocial>ABANTO CASTAÑEDA,PAULA</razonSocial>
<tipoPersona>N</tipoPersona>
</Customer>
<codigoCli>61</codigoCli>
<direccion>
JR. SANTA TERESA DE JUORNET MZA. L. LOTE 11 (FRENTE AL QUINDE-COSTADO DE FARMACIA)
</direccion>
<nroID>10414741067</nroID>
<nroTelef/>
<razonSocial>ACUÑA SIFUENTES,ILZE SOLEDAD</razonSocial>
<tipoPersona>N</tipoPersona>
</Customer>
<Customer>
<codigoCli>69</codigoCli>
<direccion>JR. JOSE GALVEZ Nº 478</direccion>
<nroID>15586005</nroID>
<nroTelef/>
<razonSocial>AEDO YANQUI,MARGARITA</razonSocial>
<tipoPersona>N</tipoPersona>
</Customer>
<Customer>
<codigoCli>115</codigoCli>
<direccion>JR. AMALIA PUGA Nº 1008 TELEF. 367878</direccion>
<nroID>10266028356</nroID>
<nroTelef/>
<razonSocial>ALARCON ZEGARRA,EDULFO</razonSocial>
<tipoPersona>N</tipoPersona>
</Customer>
<Customer>
<codigoCli>144</codigoCli>
<direccion>AV. EVITAMIENTO SUR Nº 1514</direccion>
<nroID>10267292588</nroID>
<nroTelef/>
<razonSocial>ALCANTARA GARCIA EDESBITA</razonSocial>
<tipoPersona>N</tipoPersona>
</Customer>
<Customer>
<codigoCli>194</codigoCli>
<direccion>
JR. 6 DE JULIO MZ. "C" LOTE 7 URB. LUIS ALBERTO SANCHEZ
</direccion>
<nroID>26956665</nroID>
<nroTelef>362648</nroTelef>
<razonSocial>ALVARADO CARDENAS,CONSUELO SOLEDAD</razonSocial>
<tipoPersona>N</tipoPersona>
</Customer>
</ArrayOfCustomer>

现在我还读到我应该使用kXML2,但所有的信息都是如此令人困惑,我能找到的唯一好的教程是this one,问题是它使用KXML,其中according to this page已被弃用

如果您有任何人曾经使用过KXML2,我真的很感谢您能帮助我.

附:目前我的服务返回XML,但如果你知道如何在java ME中使用json对象,我可以轻松返回json.

提前致谢.

我认为大多数JavaME开发人员只需通过调用网站URL即可.例如
http://www.yourdomain.com/yourwebservice.aspx

然后yourwebservice.aspx只返回数据.

对于我参与过的游戏中的高分系统,我会称之为

http://www.gamename.com/webservice.php?action=gethighscores

并且它将以纯文本形式输出高分,然后我的MIDlet将读取该高分.

以下是读取返回值的一些示例:http://docs.oracle.com/javame/config/cldc/ref-impl/midp2.0/jsr118/javax/microedition/io/HttpConnection.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇