Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android kSoap2 HttpTransportSE不适用于api11和更高版本的API_Android_Ksoap2_Android Ksoap2 - Fatal编程技术网

Android kSoap2 HttpTransportSE不适用于api11和更高版本的API

Android kSoap2 HttpTransportSE不适用于api11和更高版本的API,android,ksoap2,android-ksoap2,Android,Ksoap2,Android Ksoap2,我目前正在开发一个使用ksoap2 web服务的应用程序。 我正在使用“ksoap2-android-assembly-2.6.0-jar-with-dependencies.jar” 这是我的问题 我可以成功接收api10及更低版本的数据。(*在我的 电话和虚拟机) 但是当ı在Android虚拟机(即api 11)上测试我的应用程序时 和更高版本 HttpTransportSE不工作 我的代码;(并非全部) “setConn.call(SOAP\u ACTION,soapEnvol);”总是很

我目前正在开发一个使用ksoap2 web服务的应用程序。 我正在使用“ksoap2-android-assembly-2.6.0-jar-with-dependencies.jar”

这是我的问题

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

但是当ı在Android虚拟机(即api 11)上测试我的应用程序时 和更高版本

HttpTransportSE不工作

我的代码;(并非全部)

setConn.call(SOAP\u ACTION,soapEnvol);
”总是很流行 api 11视听设备

我错过了什么? 谢谢,准备好了

编辑:(完整代码响应)

公共列表duyurularistolerakgetir(){
SoapObject istek=新的SoapObject(名称空间、方法名称);
istek.addProperty(“用户”、“123”);
istek.addProperty(“通行证”、“123”);
istek.addProperty(“appID”,“1”);
SoapSerializationEnvelope soapZarf=新的SoapSerializationEnvelope(SoapEnvelope.VER11);
soapZarf.dotNet=true;
setOutputSoapObject(istek);
HttpTransportSE baglantıKur=新的HttpTransportSE(URL);
List fillMaps=new ArrayList();
试一试{
baglantıKur.debug=true;
baglantıKur.call(SOAP_ACTION,soapZarf);
SoapObject sonuclar=(SoapObject)soapZarf.getResponse();
int totalCount=sonuclar.getPropertyCount();
如果(总计数>0){
对于(int-detailCount=0;detailCount
这可能与以下事实有关:在API 11及以上版本中,不允许在主线程中访问网络,您可能必须使用异步任务。。我有一个应用程序,它使用JSON对象来获取数据,我最初只是在onCreate中对其进行编码(非常小的代码)。。它在我的手机上运行得很好。。但是当我在我的平板电脑(ICS)上尝试它时,它给了我错误,在调试中我看到了一个异常,当我用谷歌搜索它时,我发现了问题,希望它能帮助你,干杯

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

我认为这是某种bug,因为我在ICS上运行的应用程序也遇到了这个问题。如果我没有弄错的话,那么当您尝试与启用SSL的服务器通信时,就会发生这种情况,rite?嗯,最终我不得不切换到Json来解决这个问题,我对这一举动感到非常高兴,因为它更快速、更容易处理。我们必须使用kSoap,因为我们正在为Iphone开发相同的应用程序,我们希望使用相同的web服务。ı添加了完整的代码,但这些代码在api版本10下工作得非常好,只是为了一个概述,阅读本文:它演示了来自单个Web服务的SOAP和Json响应。就我个人而言,我建议使用Json,因为与SOAP相比,它需要更少的数据来传输相同的信息,它简单、易于掌握,并且在Android中本机支持。此外,您可以阅读,如果
sorgu=0
是web方法的输入参数,那么作为有效的json参数,它应该是
{“sorgu”:0}
,我认为这是某种错误,因为我的应用程序在ICS上运行时也遇到了这个问题。如果我没有弄错的话,那么当您尝试与启用SSL的服务器通信时,就会发生这种情况,rite?嗯,最终我不得不切换到Json来解决这个问题,我对这一举动感到非常高兴,因为它更快速、更容易处理。我们必须使用kSoap,因为我们正在为Iphone开发相同的应用程序,我们希望使用相同的web服务。ı添加了完整的代码,但这些代码在api版本10下工作得非常好,只是为了一个概述,阅读本文:它演示了来自单个Web服务的SOAP和Json响应。就我个人而言,我建议使用Json,因为与SOAP相比,它需要更少的数据来传输相同的信息,它简单、易于掌握,并且在Android中本机支持。此外,您可以读取,如果
sorgu=0
是web方法的输入参数,那么作为有效的json参数,它应该是
{“sorgu”:
SoapSerializationEnvelope soapEnvol= new
SoapSerializationEnvelope(SoapEnvelope.VER11);
HttpTransportSE setConn = new HttpTransportSE(URL);

     try {
     setConn.call(SOAP_ACTION, soapEnvol);
    }
     catch{Exception e)
    {
          return null;
    }
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;
    }