2011-04-05 152 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