用Android调用Webserive,遇到几个问题,记录一下,以备查询。
参考:http://www.cnblogs.com/ghj1976/archive/2011/04/26/2028904.html
1.测试窗体只能用于来自本地计算机的请求
解决:http://www.cnblogs.com/superfeeling/archive/2011/08/14/2138044.html
在web.config的<system.web></system.web>中间加入如下配置节内容
<webServices>
<protocols>
<add name="HttpSoap"/>
<add name="HttpPost"/>
<add name="HttpGet"/>
<add name="Documentation"/>
</protocols>
</webServices>
2.java.io.IOException: HTTP request failed, HTTP status: 500
3.服务器未能识别 HTTP 标头 SOAPAction 的值
解决:2、3问题都是同一问题。
网上有遇到问题2,然后下载老版本的ksoap2.5.2解决的。但我下载老版本并替换后遇到问题3.
后来好好想了下,用调用天气预报的例子,是可以正常使用的,那就证明问题并不出在ksoap的版本上,而应该在调用的配置上。
又检查了下调用代码,原来是SOAP_ACTION的值配置错误,他应该是NAMESPACE+NETHOD_NAME,写正确就OK了。。。。。