この問題には多くの時間がかかり、解決策がわからないため、誰かが私を助けてくれることを願っています. thx かなり前もって ... 次のようなオブジェクトを返す AXIS2-Webservice を呼び出そうとします。
public class TestObject{
private int zahl = 1;
private String name = "test";
SecondObject sec_object = new SecondObject("eins");
List <SecondObject> obj_list = new ArrayList<SecondObject>();
static SecondObject [] array;
public TestObject(){
obj_list.add(new SecondObject("zwei"));
obj_list.add(new SecondObject("drei"));
array = obj_list.toArray(new SecondObject[2]); }
//getter & setter
public class SecondObject {
private String wert;
public SecondObject(String wert) {
this.wert = wert;
}
Android からは、次のように呼び出します。
androidHttpTransport.call(SOAP_ACTION, envelope);
SoapObject response = (SoapObject) envelope.getResponse();
int count = response.getPropertyCount();
Log.v(TAG, "count :"+count);
for (int y = 0; y < count; y++){
if (response.getProperty(y)instanceof SoapObject){
SoapObject sobj = (SoapObject) response.getProperty(y);
Log.v(TAG, "soapOBJ "+sobj);
Log.v(TAG, "count "+sobj.getPropertyCount());
if (sobj.getProperty(0)!= null){
Log.v(TAG, "!=NULL"+sobj.getProperty(0)+"");
}
}
}
SoapObject array = (SoapObject) response.getProperty("array");
Log.v(TAG, "array "+array);
オブジェクトの配列のみを呼び出す多くの投稿を見ました。この場合、オブジェクトの配列を含むオブジェクトを呼び出したいと思います... 問題は: 配列には 1 つの要素しか含まれていません。このログを参照してください:
09-05 14:58:31.120: V/ASYNCTASK(9314): count :7
09-05 14:58:31.120: V/ASYNCTASK(9314): soapOBJ SecondObject{wert=zwei; }
09-05 14:58:31.120: V/ASYNCTASK(9314): count 1
09-05 14:58:31.120: V/ASYNCTASK(9314): !=NULLzwei
09-05 14:58:31.120: V/ASYNCTASK(9314): soapOBJ SecondObject{wert=drei; }
09-05 14:58:31.120: V/ASYNCTASK(9314): count 1
09-05 14:58:31.120: V/ASYNCTASK(9314): !=NULLdrei
09-05 14:58:31.120: V/ASYNCTASK(9314): soapOBJ SecondObject{wert=zwei; }
09-05 14:58:31.120: V/ASYNCTASK(9314): count 1
09-05 14:58:31.120: V/ASYNCTASK(9314): !=NULLzwei
09-05 14:58:31.120: V/ASYNCTASK(9314): soapOBJ SecondObject{wert=drei; }
09-05 14:58:31.120: V/ASYNCTASK(9314): count 1
09-05 14:58:31.120: V/ASYNCTASK(9314): !=NULLdrei
09-05 14:58:31.120: V/ASYNCTASK(9314): soapOBJ SecondObject{wert=eins; }
09-05 14:58:31.120: V/ASYNCTASK(9314): count 1
09-05 14:58:31.120: V/ASYNCTASK(9314): !=NULLeins
09-05 14:58:31.120: V/ASYNCTASK(9314): array SecondObject{wert=zwei; }