0

現在、ksoap2 を使用して Web サービス クライアントを作成しようとしています。Web サービスは複雑なデータ型を返しています。Web サービス クライアントを使用してそのオブジェクトを取得する必要があります。

同じことを達成するためのいくつかの指針を提供してください。

4

1 に答える 1

0

複合データ型が階層の場合は、最後のレベルになるまで SoapObject を作成します。たとえば、次のコード スニペットでは、3 つの SoapObjects を使用して SOAP 応答のキーと値を取得します。

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
        HttpTransportSE transport = new HttpTransportSE(URL);
        transport.debug = true;
        transport.call(SOAP_ACTION+"createSubmission", envelope);
        SoapObject so = (SoapObject) envelope.bodyIn;
        Log.i("data:SO", so.toString());
        SoapObject so2 = (SoapObject)so.getProperty(0);
        Log.i("data:SO2", so2.toString());
        int count = so.getPropertyCount();
        for(int i = 0; i < count; ++i) {
        SoapObject so3 = (SoapObject)so.getProperty(i);
        Log.i("data", (String)so3.getProperty(0)+" extra");
        String key = (String) so2.getProperty(0);
        Object val = so2.getProperty(1);
        data.put(key, val);
        }
于 2012-04-05T06:48:10.470 に答える