2011-04-05 153 views
1

我想使用KSOAP2調用一個SOAP web服務。我設法在其中一個教程中運行示例,但是當試圖使其在我自己的Web服務上運行時,LogCat指出「連接被拒絕」。目前web服務的主機地址是「http:// localhost:9001 /」。 我可以使用SoapUI訪問它,但不能通過我的Android應用程序訪問它。KSOAP2 - 拒絕連接

如果需要,我可以發佈代碼,但錯誤消息的最可能原因是什麼?

雖然我在這裏:有沒有辦法查看KSOAP發送的消息實際上是什麼樣的? HttpTransport.requestDump似乎只有在可以建立連接的情況下才能工作,在我的情況下連接不可以。

+2

您的設備(或模擬器)上的localhost是您的設備。模擬器看到你的計算機的地址爲10.0.2.2(應該是這樣) – bigstones 2011-04-05 20:21:50

回答

2

我確認您的機器的地址,如仿真器所示,爲10.0.2.2。更多的信息在這裏:Emulator Networking

關於HttpTransportSE.requestDump:正如你所說,只有在有實際通信的情況下(並且如果將HttpTransportSE.debug標誌設置爲true),纔會填充該值。如果沒有溝通,你會有其他問題,而不是它的內容!

+0

非常感謝你的快速響應,使用10.0.2.2而不是localhost工作!雖然web服務存在另一個問題,但我現在至少知道我可以建立連接。是否有另一種方法來查看發送的XML文件的內容,最好是沒有連接到Web服務? (順便說一下,我想標記你的答案有用,但不幸的是,我還沒有被允許) – deimos1988 2011-04-05 21:02:35

+1

@ deimos1988對不起,我無法幫助你。您可以查看信封對象以瞭解數據,但沒有格式化的XML。 (如果你想接受答案,你可以點擊問題旁邊的空白刻度標記使它變綠,它會給我們兩個聲望點,讓人們知道這是一個工作解決方案) – bigstones 2011-04-05 21:18:39

+0

@ deimos1988 in 'HttpTransportSE.call()'有一個'createRequestData(envelope)'函數可能是你正在看的東西,可惜我找不到它的定義。 https://github.com/mosabua/ksoap2-android/blob/master/ksoap2-j2se/src/main/java/org/ksoap2/transport/HttpTransportSE.java – bigstones 2011-04-05 21:43:28