私は、wcf サービスを使用する Android で最初のアプリケーションを構築しています。応答を解析するために ksoap2 を使用しています。応答は、実際には C# で定義されたオブジェクトの配列です。この非常に役立つガイドに従ってこれを行いました。今、私の問題はC# でオブジェクトの配列を返す wcf サービスを使用する必要がありますが、今回はこれらのオブジェクトの一部のプロパティが他のオブジェクトです。私の質問は、内部オブジェクトをマップしてプロパティを解析できるようにするにはどうすればよいですか?
よくわからない場合のために、次のようなオブジェクトを解析する必要があります。
public class OutterObject {
private InnerObject1 io1;
private InnerObject2 io2;
}
私が十分に明確だったことを願っています
わかりました、これは私の簡略化されたコードです。すべてを投稿することはできません。問題があると思われる部分だけです。
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
これはスローされた例外です: java.lang.ClassCastException: org.ksoap2.serialization.SoapObject cannot be cast to connectionInitializer.Course