使用soap访问服务器,为什么获取到服务器的响应数据为null
发布网友
发布时间:2022-04-21 15:43
我来回答
共1个回答
热心网友
时间:2023-11-14 22:55
下面是向远处服务器进行请求的详细操作类WebServiceUtil
Java代码
public class WebServiceUtil {
//命名空间
private static final String NAMESPACE = "http://WebXml.com.cn/";
//WebService地址
private static final String URL = "http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl";
//需要调用的方法名
private static final String getSupportProvince = "getSupportProvince";
/**
* @desc 获得洲、国内外省份和城市信息
* @return 省份列表
*/
public List getAllProvince() {
List allProvince = new ArrayList();
try {
//1.实例化SoapObject对象
SoapObject request = new SoapObject(NAMESPACE, getSupportProvince);
//2.如果方法需要参数,设置参数
//request.setProperty("参数名称", "参数值");
//3.设置Soap的请求信息,参数部分为Soap协议的版本号
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut = request;
//4.构建传输对象
AndroidHttpTransport transport = new AndroidHttpTransport(URL);
transport.debug = true;
//5.访问WebService,第一个参数为命名空间 + 方法名,第二个参数为Envelope对象
transport.call(NAMESPACE + getSupportProvince, envelope);
//6.解析返回的数据
SoapObject result = (SoapObject) envelope.getResponse();
int count = result.getPropertyCount();