2012-11-07 196 views
0

我有問題comunicate與我的網絡服務使用ksoap爲Android。這個想法是以字符串形式接收JSON,然後對該字符串進行一些解析。我打開了我的Web服務表單Eclipse Web服務瀏覽器,並且在服務器端似乎一切正常,提供給請求的參數是正確的。Android的ksoap網絡服務

我的錯誤:

SoapFault - faultcode: 'soapenv:Server' faultstring: '3' faultactor: 'null' detail: [email protected] 

SOAP fault codes表示,其服務器錯誤,但正如我上面說,它工作正常形式的Eclipse Web服務瀏覽器。

我的代碼:

private static final String method_get_quest_by_id = "getQuestionsById"; 
private static final String NAMESPACE = "http://surveys.services.backend.capi.ateam"; 
private static final String retirieveQuestById = NAMESPACE 
     + method_get_quest_by_id; 
private static String url = "http://ec2-184-73-10-139.compute-1.amazonaws.com:8080/Services/services/SurveyService"; 

try{ 
     SoapObject request = new SoapObject(NAMESPACE,method_get_quest_by_id); 
     SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
     request.addProperty("userName", userName); 
     request.addProperty("password", pass); 
     request.addProperty("id", id); 
     envelope.setOutputSoapObject(request); 
     HttpTransportSE androidHttpTransport = new HttpTransportSE(url); 
     androidHttpTransport.call(retirieveQuestById, envelope); 
     Object result = envelope.getResponse(); 
     resultString= result.toString(); 
    } catch (Exception E) { 
     E.printStackTrace(); 
    } 

IM在Android 2.2的工作。

有人可以幫我嗎?我一直堅持這一兩天了... 謝謝

+0

我完全放棄了Android和Blackberry的ksoap。我現在創建我自己的SOAP信封。 ksoap從來沒有爲我工作。 – PaulG

+0

我是新來的Web服務,你有教程或例子來創建SOAP信封?謝謝 –

+0

好吧,既然您使用的是SOAP,那麼您使用的Web服務將會有一個.asmx頁面,您可以通過瀏覽器看到該頁面。 asmx頁面應該有一個方法列表,點擊你想調用的方法,看看你的信封應該是什麼樣的SOAP 1.1部分。 – PaulG

回答

2

最後我找到了問題的原因。當它應該是「標識符」時,我傳遞「id」作爲參數名稱。

花了很長時間才發現問題,可能是因爲故障串並沒有多大幫助。 我的猜測是faultstring =「3」表示參數編號爲3的問題。

+0

是的男人,我的問題是一樣的你我檢查和發現:( – canmurat