2011-04-21 36 views
3

我很無聊與使用KSOAP2的:我在尋找1天解決方案,我無法找到任何東西...錯誤發送帶有KSOAP2(安卓)參數時

我有一個簡單我從示例教程中獲取的PHP Webservice:GetSumOfTwoInts。它需要兩個Int參數並返回它們的總和。

我可以調用這個Web服務在PHP和Java中,它的作品不錯,但是當我KSAOP2稱它爲我總是相同的錯誤:

SoapFault - faultcode: 'SOAP-ENV:Server' faultstring: 'Procedure 'GetSumOfTwoInts' not present' faultactor: 'null' detail: null 

在這裏,我的代碼:

public void onCreate(Bundle icicle) 
{ 
    super.onCreate(icicle); 
    TextView tv = new TextView(this); 
    setContentView(tv); 
    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);  

    PropertyInfo pi = new PropertyInfo(); 
    pi.setName("Operand1"); 
    pi.setValue(40); 
    pi.setType(int.class); 
    request.addProperty(pi); 

    PropertyInfo pi2 = new PropertyInfo(); 
    pi2.setName("Operand2"); 
    pi2.setValue(6); 
    pi2.setType(int.class); 
    request.addProperty(pi2); 

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 

    envelope.setOutputSoapObject(request); 

    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 

    try 
    { 
     androidHttpTransport.call(SOAP_ACTION, envelope); 

     String result = envelope.bodyIn.toString(); 

     Toast.makeText(this, result, 10000).show(); 
     Log.v("TEST", result); 
    } 
    catch(Exception e) 
    { 
     e.printStackTrace(); 
     Log.v("TEST1", e.toString()); 
    } 


} 

並在此行發生錯誤:「androidHttpTransport.call(SOAP_ACTION,envelope);」

這很奇怪,因爲我maked其他attemps,與web服務不帶參數和它的作品好....這只是當我需要它不工作參數....

我需要你的幫助!!! :)

+0

你試圖添加使用'request.addProperty(名稱,值)ARGS'W/O明確設置類型? – ernazm 2011-04-21 07:52:10

+0

你有沒有找到任何解決方案? – Sayyam 2012-08-27 14:47:34

回答

0
pi.setType(int.class); 

嘗試使用

pi.setType(Integer.class);