首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >kSoap2 HttpTransportSE不适用于api11和更高版本的apis

kSoap2 HttpTransportSE不适用于api11和更高版本的apis
EN

Stack Overflow用户
提问于 2012-03-15 16:36:20
回答 1查看 4.5K关注 0票数 1

我目前正在开发和应用程序,这是使用ksoap2网络服务。我正在使用"ksoap2-android-assembly-2.6.0-jar-with-dependencies.jar“

这就是我的问题。

我可以成功地接收到api10及更低版本的数据。(*在我的手机和虚拟机上)

但当ı在安卓虚拟机上测试我的应用程序时,我的应用程序是API11和更高版本。

HttpTransportSE不工作。

我的代码;(不是全部)

代码语言:javascript
复制
SoapSerializationEnvelope soapEnvol= new
SoapSerializationEnvelope(SoapEnvelope.VER11);
HttpTransportSE setConn = new HttpTransportSE(URL);

     try {
     setConn.call(SOAP_ACTION, soapEnvol);
    }
     catch{Exception e)
    {
          return null;
    }

setConn.call(SOAP_ACTION, soapEnvol);”总是落在api 11 av机器上。

我错过了什么?已经谢谢了。

编辑:(完整代码响应)

代码语言:javascript
复制
public List<HashMap<String, String>> duyurulariListeOlarakGetir() {
        SoapObject istek = new SoapObject(NAMESPACE, METHOD_NAME);

        istek.addProperty("user", "123");
        istek.addProperty("pass", "123");
        istek.addProperty("appID", "1");

        SoapSerializationEnvelope soapZarf = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        soapZarf.dotNet = true;
        soapZarf.setOutputSoapObject(istek);

        HttpTransportSE baglantıKur = new HttpTransportSE(URL);

        List<HashMap<String, String>> fillMaps = new ArrayList<HashMap<String, String>>();

        try {

            baglantıKur.debug=true;
            baglantıKur.call(SOAP_ACTION, soapZarf);

            SoapObject sonuclar = (SoapObject) soapZarf.getResponse();

            int totalCount = sonuclar.getPropertyCount();
            if (totalCount > 0) {
                for (int detailCount = 0; detailCount < totalCount; detailCount++) {

                    SoapObject pojoSoap = (SoapObject) sonuclar.getProperty(detailCount);
                    HashMap<String, String> map = new HashMap<String, String>();

                    map.put("duyuruID", pojoSoap.getProperty("duyuruID").toString());
                    map.put("duyuruMetin", pojoSoap.getProperty("duyuruMetin").toString());
                    map.put("duyuruSaat", pojoSoap.getProperty("duyuruSaat").toString());
                    map.put("duyuruBaslik", pojoSoap.getProperty("duyuruBaslik").toString());
                    map.put("duyuruTarih", pojoSoap.getProperty("duyuruTarih").toString());
                    map.put("kurumID", pojoSoap.getProperty("duyuruSilindi").toString());
                    map.put("uygulamaID", pojoSoap.getProperty("duyuruSilindi").toString());
                    map.put("duyuruSilindi", pojoSoap.getProperty("duyuruSilindi").toString());

                    fillMaps.add(map);
                }
            } else
                return null;
        } catch (Exception e) {
            HashMap<String, String> map = new HashMap<String, String>();

            map.put("duyuruID", "");
            map.put("duyuruMetin", "Bağlantı kurulamadı");
            map.put("duyuruSaat", "Bağlantı kurulamadı");
            map.put("duyuruBaslik", "Bağlantı kurulamadı");
            map.put("duyuruTarih", "Bağlantı kurulamadı");
            map.put("kurumID", "Bağlantı kurulamadı");
            map.put("uygulamaID","Bağlantı kurulamadı");
            map.put("duyuruSilindi", "Bağlantı kurulamadı");

            fillMaps.add(map);
            return fillMaps;
        }
        return fillMaps;
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-12 17:55:28

这可能与apis 11及以上版本不允许在主线程中访问网络有关,您可能必须使用ASYNC任务。我有一个应用程序,它使用JSON对象来获取数据,我最初只是在onCreate (非常小的代码)中编写了它。它在我的手机上工作得很好。但当我在我的平板电脑(ICS)上尝试它时,它给了我错误,在调试中我看到了一个异常,当我在谷歌上搜索它时,我发现了问题,希望它能帮助你,干杯!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9716254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档