2011-12-16 6 views
9

Jeśli próbuję pobrać pierwszą tablicę przy użyciu (String) response.getProperty(0);, ale zwrócił mi pełny ciąg.Jak odzyskać tablicę obiektów w wyniku usługi sieciowej KSOAP w systemie Android?

**Here is the code of webservice calling** 

public static Object getResponse(String methodName, String actionName, LinkedHashMap<String, String> valueStrings) 
{ 
    SoapObject soapObject = new SoapObject(LetUsClickAPIConstants.COMMON_NAMESPACE, methodName); 
    Object response = null; 
    for (Map.Entry<String, String> mapKeys : valueStrings.entrySet()) 
    { 
     soapObject.addProperty(mapKeys.getKey(), mapKeys.getValue()); 
    } 
    final SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
    envelope.dotNet = false; 
    envelope.setOutputSoapObject(soapObject); 
    final AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(LetUsClickAPIConstants.COMMON_URL); 
    try 
    { 
     androidHttpTransport.call(actionName, envelope); 
     response = envelope.getResponse(); 
     Log.d("Response ", response.toString()); 
    } catch (final IOException e) 
    { 
     Log.d("Exception", "" + e); 
    } catch (final XmlPullParserException e) 
    { 

     Log.d("Exception", "" + e); 
    } 
    return response; 

} 

Dostałem odpowiedź w rodzaju Vector

[Client{UserId=93; nickName=ladies; }, Client{UserId=94; nickName=ABCD; }] 

Here is the image of return response

Próbowałem wielu sposobów, ale nie jestem sukces odzyskać w jakikolwiek sposób?

Odpowiedz

0

użyć kodu następujących ..

Soapresponse = Ksoap.CallService("SOAP_METHOD_NAME); 

     try { 
      if (Soapresponse != null) { 
       SoapObject Soapresult = (SoapObject) Soapresponse 
         .getProperty(0); 

       if (Soapresult != null) { 
        SoapObject Dataset = (SoapObject) Soapresult 
          .getProperty(1); 
        if (Dataset != null) { 
         SoapObject Table = (SoapObject) Dataset 
           .getProperty(0); 
         if (Table != null) { 
          UserId= new String[Table.getPropertyCount()]; 
          nickName= new String[Table 
            .getPropertyCount()]; 

          for (int i = 0; i < total_News; i++) { 
           SoapObject row = (SoapObject) Table 
             .getProperty(i); 

           UserId[i] = row.getProperty("UserId") 
             .toString(); 
           nickName[i] = row.getProperty(
             "nickName").toString(); 
                   } 
         } 
        } 
       } 
      } 

     } catch (NullPointerException f) { 

     } catch (ClassCastException d) { 

     } 
0

Analizować ciąg do części chcesz. Używanie funkcji regex lub Substring klasy String.

Powiązane problemy