使用ksoap2 lib從android調用.net SOAP1.1 web服務我遇到了將自定義對象強制轉換爲響應的問題。例如下面的代碼在httpTransport.call(soapAction,soapEnvelope)後稱爲正確;並在裏面有數據。但是我不能將它轉換爲SoapObject或Vector的特定對象,正如我在幾個例子中看到的,我得到了CastException或簡單的東西。 如果有人知道如何處理它,請幫助。ksoap2 cast getResponse()
public StatusSetting[] GetAllStatuses(String installation){
StatusSetting[] statuses = null;
String methodName = "GetAllStatuses";
String soapAction = NAMESPACE + "/" + methodName;
SoapObject request = new SoapObject(NAMESPACE, methodName);
request.addProperty("installation", installation);
SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
soapEnvelope.dotNet = true;
soapEnvelope.setOutputSoapObject(request);
AndroidHttpTransport httpTransport = new AndroidHttpTransport(SERVICE_URL);
try {
httpTransport.call(soapAction, soapEnvelope);
statuses = (StatusSetting[])soapEnvelope.getResponse();
} catch (Exception e) {
e.printStackTrace();
}
return statuses;
}
謝謝,它的工作原理,我在SoapObject數據。你可以給一個方向如何解析SoapObject。我的意思是讀取屬性,並尋找我需要的數據。我試圖得到resultsRequestSOAP.properties它的工作原理(它得到像json數據)在調試模式,但屬性不是打開方法在代碼中使用。 – Maxim 2010-06-15 09:32:53
我知道兩種分析SoapObject的方法。 1.實現'org.ksoap2.serialization.Marshal'接口並註冊相應的SOAP標籤。 2.另一種方法是使用SoapObject的getProperty()和getAttribute()方法來獲取相應的值。 HTH。 – 2010-06-15 14:15:30
也看看這個。 http://www.drdobbs.com/article/printableArticle.jhtml;jsessionid=OKCYS4LV2OQDPQE1GHPCKHWATMY32JVN?articleId=208800166&dept_url=/mobility/ – 2010-06-15 14:17:52