2012-07-02 3 views
0

Я использую API Android 2.1. Я загружаю из Интернета через протокол ksoap, данные. Результатом является это исключение org.ksoap2.serialization.SoapPrimitive и не понимаю, почему.org.ksoap2.serialization.SoapПримерная ошибка во втором ответе

с отладкой, for правильно работает в первом раунде, но во второй раз он висит в образовании re = (SoapObject) ((SoapObject) envelope.getResponse()). getProperty (s), сообщая об ошибке org.ksoap2.serialization.SoapPrimitive.

Вот код:

request = new SoapObject(NAMESPACE, METHOD_NAME); 
request.addProperty("dev", false); 
request.addProperty("Cap", input_cap.getText().toString()); 

envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
envelope.dotNet = true; 
envelope.setOutputSoapObject(request); 
envelope.addMapping(NAMESPACE,Offerta.Offerta_CLASS.getSimpleName(),Offerta.Offerta_CLASS); 

androidHttpTransport = new HttpTransportSE(URL); 
androidHttpTransport.call(SOAP_ACTION, envelope); 

int nOff = ((SoapObject) envelope.getResponse()).getPropertyCount(); 
SoapObject re; 

for (int i = 0; i < nOff; i++) { 
    re = (SoapObject) ((SoapObject) envelope.getResponse()).getProperty(i); 
    img.setImageBitmap(getBitmap(Integer.parseInt(re.getProperty(0).toString()))); 
    titolo.setText(re.getProperty(1).toString()); 
    descrizioneTitolo.setText(re.getProperty(3).toString()); 
    provincia.setText(getProvincia(Integer.parseInt(re.getProperty(13).toString()))); 
    sintesi.setText(re.getProperty(2).toString()); 
    contenitore_paese.addView(view); 
} 

ответ

0

Сообщение об ошибке звучит как ваше второе свойство на следующей строке не SoapObject но мыло примитивно, который ломает его во время выполнения, потому что вы типа его отливки ,

re = (SoapObject) ((SoapObject) envelope.getResponse()).getProperty(i); 
+0

Как это возможно? вернуть те же объекты из Интернета .... и я использовал тот же механизм в других классах, и он работает ... Однако спасибо большое! Я лучше перепроверяю: P – Andrea

+0

Я решил проблему: D Я использовал общие объекты, не понимая, спасибо за ответ! : D – Andrea

0

Только что отнесено к SoapPrimitive вместо SoapObject. Также я не знаю, почему, но если вы видите код, это может быть логично.

SoapPrimitive re = (SoapPrimitive) envelope.getResponse().getProperty(i) ; 
Смежные вопросы