就是访问一个asmx文件,通过这个文件生成soap对象 访问里面的方法
链接代码:
private static final String NAMESPACE = "http://192.168.0.109:81/smartweb/";
private static final String URL =""http://192.168.0.109:81/smartweb/smartweb.asmx?wsdl";
链接代码:
private static final String NAMESPACE = "http://192.168.0.109:81/smartweb/";
private static final String URL =""http://192.168.0.109:81/smartweb/smartweb.asmx?wsdl";
java.net.MalformedURLException: Protocol not found: www.smartweb.com/smartweb/smartweb.asmx?wsdl
这个是别人挂出去的
"http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl"
这个是自己局域网内的
"www.smartweb.com/smartweb/smartweb.asmx?wsdl"
现在是在这里报错。我是在想会不会是网络访问的问题,andirod在哪设置网络访问?
java.io.IOException: Relative path: www.smartweb.com/smartweb/smartweb.asmx
这又是什么问题呢。
继续研究
之所以用android去访问一直说无法解析响应内容 是因为 我webservice的url指向的是一个wsdl文件。而实际上,我应该是去指向一个asmx/php之类的一个文件。我之前一直以为wsdl文件和asmx文件是同个级别的东西,现在才发现 原来他们是一对"合作伙伴" asmx 将wsdl文件发布出来 我们调用它里面的方法应该是去访问asmx 而非wsdl。否则就会解析失败。(我不解的是,为什么我指向wsdl文件时,android,c#都会报错,而php,java不会报错,弄得我一直以为是环境或者其他的问题,把问题复杂化了)
这几天走了很多弯路,不断排错,没想到是原则性的东西没弄清楚,吃一蛰长一智,下次被问题困扰时,回过头来看看吧