2012-01-03 113 views
1

我試着用soap添加一個新的聯繫人。我使用了set_entry方法,並將聯繫人添加到數據庫中,但所有列都爲空。任何人都可以糾正我出錯的地方嗎?SOAP API set_entry sugarcrm + android

SoapObject request1 = new SoapObject(NAMESPACE,"set_entry"); 
SoapObject liste = new SoapObject(NAMESPACE, "name_value_list"); 

request1.addProperty("session", session); 
request1.addProperty("module_name","Contacts"); 

liste.addProperty("first_name","test"); 
liste.addProperty("last_name","test"); 

request1.addProperty("name_value_list",liste); 
SoapSerializationEnvelope envelope1 = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
envelope1.setOutputSoapObject(request1); 
androidHttpTransport = new HttpTransportSE(URL); 
androidHttpTransport.call("SOAP_ACTION", envelope1); 

SoapObject result1 = (SoapObject) envelope1.getResponse(); 

回答

0

我認爲你必須在name_value_list錯誤。它應該是這個樣子的PHP:

$parameters = array( 
'session' => $session, 
'module' => 'Contacst', 
'name_value_list' => array( 
    array('name' => 'first_name', 'value' => 'test'), 
    array('name' => 'last_name', 'value' => 'test'), 
    ), 
); 

對於Android的(沒有用過Android界面,所以猜測...):

SoapObject val1 = new SoapObject(NAMESPACE, "val1"); 
SoapObject val2 = new SoapObject(NAMESPACE, "val2"); 

val1.addProperty("name","first_name"); 
val1.addProperty("value","test"); 
val2.addProperty("name","last_name"); 
val2.addProperty("value","test"); 

liste.addProperty(val1); 
liste.addProperty(val2);