2016-08-02 10 views
0

Ich muss einen Web-Service aufrufen, in dem Web-Service von kSoap2 Methode aufgerufen wird, jetzt in diesem einen Knoten ist ein Unterobjekt, so wie ich es weitergeben kann.KSoap2 Pass Sub-Objekt

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <tem:AddDataVersion2> 
     <!--Optional:--> 
     <tem:object> 
      <!--Optional:--> 
      <tem:Data1>?</tem:Data1> 
      <!--Optional:--> 
      <tem:Data2>?</tem:Data2> 
      <!--Optional:--> 
      <tem:Data3>?</tem:Data3> 
      <!--Optional:--> 
      <tem:Data4>?</tem:Data4> 
     <tem:object> 
     </tem:AddDataVersion2> 
    </soapenv:Body> 
</soapenv:Envelope> 

dieses Unterobjekt = wie Daten hinzufügen direkt zum Objekt und fügt Objekt

SoapObject request = new SoapObject(NAMESPACE,"tem:AddDataVersion2"); 
     request.addProperty("Data1", 1); 
     request.addProperty("Data2", 2); 
     request.addProperty("Data3", 3); 
     request.addProperty("Data4", 4); 

Antwort

0

Sie sollen nicht setzen Daten in addProperty() Methode. Stattdessen müssen Sie Ihre Daten in PropertyInfo Objekt hinzufügen und dieses Objekt SoapObject als property hinzufügen. In Ihrem Fall -

Für Ex:

SoapObject request = new SoapObject(NAMESPACE,"tem:AddDataVersion2"); 
PropertyInfo propertyInfo1= new PropertyInfo(); 
propertyInfo.setName("Data1"); 
propertyInfo.setValue("1"); 
propertyInfo.setType(String.class); 

PropertyInfo propertyInfo2= new PropertyInfo(); 
propertyInfo.setName("Data2"); 
propertyInfo.setValue("2"); 
propertyInfo.setType(String.class); 

PropertyInfo propertyInfo3= new PropertyInfo(); 
propertyInfo.setName("Data3"); 
propertyInfo.setValue("3"); 
propertyInfo.setType(String.class); 

PropertyInfo propertyInfo4= new PropertyInfo(); 
propertyInfo.setName("Data4"); 
propertyInfo.setValue("4"); 
propertyInfo.setType(String.class); 

request.addProperty(propertyInfo1); 
request.addProperty(propertyInfo2); 
request.addProperty(propertyInfo3); 
request.addProperty(propertyInfo4); 

Hope it :)

helfen
Verwandte Themen