您的位置:首页 > 移动开发 > Android开发

关于webservice的问题

2015-06-25 16:27 459 查看
今天在使用webservice调用接口的时候出现一个问题就是,连接服务器成功但是感觉参数总是没传过去。比如我做一个请求获取号码归属地的请求。使用webservice建立请求,因为设置envelope.dotNet = false;这个值不对,导致返回结果永远是手机号码不对,其实不是手机号码不对,只是因为后台服务使用.net开发的所以这个值必须设置为true。

相关请求的代码如下:

private void webServiceRequest() {
// soapobject构建
String nameSpace = "http://WebXml.com.cn/";
String serviceMethod = "getMobileCodeInfo";
String serviceURL = "http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx";
String soapAction = "http://WebXml.com.cn/getMobileCodeInfo";

SoapObject request = new SoapObject(nameSpace, serviceMethod); // 指定WebService的命名空间和调用的方法名
request.addProperty("mobileCode", "18672740522");
request.addProperty("userID", "");
Log.e("lwc", "count = " + request.getPropertyCount());

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.bodyOut = request;
envelope.dotNet = true;
envelope.setOutputSoapObject(request);

// Android传输对象
HttpTransportSE transport = new HttpTransportSE(serviceURL);
transport.debug = true;

try {
transport.call(soapAction, envelope);

// 获取返回的数据
SoapObject object = (SoapObject) envelope.bodyIn;
// 获取返回的结果
String result = object.getProperty(0).toString();
Log.e("lwc", "result = " + result);
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  安卓 android webservice