kSoap2 HttpTransportSE не работает с api11 и выше apis
Я в настоящее время devoloping и приложение, которое использует веб-сервис ksoap2. Я использую "ksoap2-android-assembly-2.6.0-jar-with-dependencies.jar"
Здесь моя проблема.
Я могу успешно получать данные на api10 и более низких версиях. (* на моем телефоне и виртуальных машинах)
Но когда я проверил мое приложение на виртуальных машинах Android, версии api 11 и выше.
HttpTransportSE не работает.
мои коды;(не все)
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 машин.
чего мне не хватает? Спасибо уже.
редактировать: (полный код ответа)
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;
}
1 ответ
Это может быть связано с тем, что в apis 11 и выше доступ к сети в главном потоке запрещен, возможно, вам придется использовать задачу ASYNC. У меня было приложение, которое использовало объекты JSON для получения данных, я изначально кодировал их просто в onCreate (очень маленький код) .. он отлично работал на моем телефоне.. но когда я попробовал его на своем планшете (ICS), он дал мне ошибки, в отладке я увидел исключение, когда я погуглил его, я обнаружил проблему Надеюсь, это поможет вам, ура!