2011-03-19 74 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