//一 : 在工作空间中的build.gradle中—配置中心仓库
maven { url “https://oss.sonatype.org/content/repositories/ksoap2-android-releases/” }
//二 : 在项目中的build.gradle中—配置依赖
implementation ‘com.google.code.ksoap2-android:ksoap2-android:3.6.3’
//三 : 在test中进行测试
//命名空间
String nameSpace = “http://WebXml.com.cn/”;
//地址
String url = “http://www.webxml.com.cn/WebServices/WeatherWebService.asmx”;
//junit 测试 java测试
@Test public void test() throws IOException, XmlPullParserException {
//System.out.println(“测试运行”);
//mvp okhttp retrofit rxjava
//mvp -> 便于分开测试s
//Log.i(“TEST”, “test”);
String methodName = “getSupportProvince”;
//创建HttpTransportSe对象:请求url地址
HttpTransportSE httpTransportSE = new HttpTransportSE(url);
//创建SoapObject对象:命名空间,调用方法名
SoapObject soapObject = new SoapObject(nameSpace, methodName);
//soapObject.addProperty("", “”);
//传递参数 没有
//Soap序列化对象:版本
SoapSerializationEnvelope soapSerializationEnvelope = new SoapSerializationEnvelope(SoapSerializationEnvelope.VER11);
//设置
soapSerializationEnvelope.dotNet = true;//是否支持.net
//设置输入的简单对象
soapSerializationEnvelope.setOutputSoapObject(soapObject);
httpTransportSE.debug = true;//开启调试
//执行调用: 命名空间 + 调用方法
httpTransportSE.call(nameSpace + methodName, soapSerializationEnvelope);
//获取结果
if(soapSerializationEnvelope.getResponse() != null) {
SoapObject bodyIn = (SoapObject) soapSerializationEnvelope.bodyIn;
//ctrl + alt + v / f 抽 本地 成员
SoapObject property = (SoapObject) bodyIn.getProperty(0);
for (int i = 0; i < property.getPropertyCount(); i++) {
SoapPrimitive soapPrimitive = (SoapPrimitive) property.getProperty(i);
System.out.println(soapPrimitive.getValue());
}
System.out.println(bodyIn);
}
}