2011-03-19 76 views
2

這是我的大麻煩。我試圖調用一個特定的WS這個請求:在Android上使用KSOAP。自定義命名空間的問題

這裏的在Android項目中使用我的Java代碼:

首先,是有可能打印出由該請求生成的XML? 無論如何,我的請求返回的結果總是一個「失敗」,我認爲這是因爲SetReport標記使用特定的名稱空間(例如< ** ws:** SetReport>) 如何指定此類型的名稱空間我的請求??換句話說,我該如何使用xmlns創建一個Envelope:xs =「http://ws.comunichiamo.com」?

回答

2

創建SoapObject時已經設置了名稱空間,這是正確的方法。

您可以獲得通過設置

androidHttpTransport.debug = true; 

,然後尋找到androidHttpTransport.requestDumpresponseDump請求後,客戶端和服務器之間發送的實際字符串。

(什麼是「失敗」是不是一個例外是什麼說的??)

一些注意事項:您不需要設置原始的像字符串和整數類型,如果你'使用KSoap2的最新版本時,應該建議使用HttpTransportSE類,而不是使用AndroidHttpTransport

(+1每個用戶的密碼;))

+0

失敗是Web服務給我的迴應。 – ilsologheo00 2011-03-20 11:03:05

+0

所以,我似乎可以正確調用它,但是我必須在我的請求中加入一些錯誤的參數...... P.S。你是意大利人嗎? – ilsologheo00 2011-03-20 11:03:47

+0

@ ilsologheo00你應該從服務器得到一些錯誤信息,至少在'responseDump'中。你是否進入catch塊?如果您遇到「SoapFault」異常,它會告訴您它是服務器還是客戶端故障。 (si'sono italiano) – bigstones 2011-03-20 14:30:17