2016-08-02 11 views
0

WebサービスがkSoap2メソッドによって呼び出されるWebサービスを呼び出す必要があります。ここでは、この1つのノードはサブオブジェクトなので、どのように渡すことができます。KSoap2 Pass Subオブジェクト

<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> 

このサブオブジェクト=オブジェクトとあなたが直接addProperty()メソッドにデータを置くべきではありません

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

答えて

0

にオブジェクトを追加するためにデータを追加する方法について説明します。代わりにPropertyInfoオブジェクトにデータを追加し、そのオブジェクトをSoapObjectpropertyと追加する必要があります。あなたのケースでは - 例の場合

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); 

は、それが:)

を助けることを願っています
関連する問題