关于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();
}
}
相关请求的代码如下:
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();
}
}
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories