Przetwarzanie złożonej odpowiedzi na mydło
Buduję moją pierwszą aplikację w Androidzie, która korzysta z usługi wcf. Używam ksoap2 do analizowania odpowiedzi. Odpowiedź jest w rzeczywistości tablicą obiektów zdefiniowanych w C #.przewodnik. Teraz mój problem polega na tym, że muszę skorzystać z usługi wcf, która zwraca ponownie tablicę obiektów w C #, ale tym razem niektóre właściwości tych obiektów są innymi obiektami. Więc moje pytanie brzmi, jak mogę zmapować obiekty wewnętrzne, aby móc analizować ich właściwości?
Gdybym był niejasny, muszę przeanalizować obiekt w ten sposób:
public class OutterObject {
private InnerObject1 io1;
private InnerObject2 io2;
}
Mam nadzieję, że byłam wystarczająco jasna
Ok, to jest mój uproszczony kod, nie mogę go opublikować tylko w części, którą uważam za winną
SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);
Request.addProperty("connString",args.get(0));
Request.addProperty("ClCode", args.get(1));
Request.addProperty("TeCode", args.get(2));
Request.addProperty("CourseDate", args.get(3));
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
envelope.addMapping(namespace, "SRV_WeekProgramm",newSRV_WeekProgramm().getClass());
envelope.addMapping(namespace, "Course", new Course().getClass());
envelope.addMapping(namespace, "StudentHours", new StudentHours().getClass());
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call(SOAP_ACTION, envelope);
Course response = (Course)envelope.bodyIn; //this is where it crashes
i to jest zgłoszony wyjątek: java.lang.ClassCastException: org.ksoap2.serialization.SoapObject nie może być rzutowany na connectionInitializer.Course