来自iOS我在Android中使用Web服务非常困难。我花了几个小时尝试示例,阅读博客,与网络服务成功沟通似乎仍然是运气问题....
底线,我希望能够看到正在发送的信封。在iOS中,我可以查看将要发送的XML消息,将其与SoapUI或类似内容进行比较,并了解错误。我们不能那样做吗?在调用之前将XML输出到System.out.print?
我还想对响应做同样的事情,得到简单的http响应,因为Ksoap2异常非常差。
很抱歉,如果这是一个非常基本的问题,但我有点沮丧:(
答案 0 :(得分:32)
创建HttpTransportSE androidHttpTransport
后,您可以添加以下行:
androidHttpTransport.debug = true;
调用androidHttpTransport.call(SOAP_ACTION, envelope);
后,您可以从两个String变量中获取XML格式的请求和响应:
androidHttpTransport.requestDump;
androidHttpTransport.responseDump;
您可以将这些值打印到日志中或在调试模式下访问它们。
答案 1 :(得分:2)
使用TCP / IP监视器,例如Eclipse中的监视器(Window-> Show View-> Debug-> TCP / IP Monitor)。我认为打印XML信封不属于代码,因为它仅用于调试。如果您的Web服务正在侦听端口8080,您可以将监视器配置为侦听端口8081并监视端口8080.然后将SOAP客户端指向端口8081.这样TCP / IP监视器将接收XML,显示它,然后转发它在8080的实际服务。它将做同样的响应。这也适用于SoapUI(只需指向端口8081)。