根部录
//配置中心仓库
maven { url "https://oss.sonatype.org/content/repositories/ksoap2-android-releases/" }
依赖
implementation 'com.google.code.ksoap2-android:ksoap2-android:3.6.3'
在test测试类
public class ExampleUnitTest {
@Test
public void addition_isCorrect() {
assertEquals(4, 2 + 2);
}
//命名空间
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);
}
}
//
@Test public void get() {
//请求支持的城市信息
//getSupportCity
//查询本天气预报Web Services支持的国内外城市或地区信息
//输入参数:byProvinceName = 指定的洲或国内的省份,若为ALL或空则表示返回全部城市;返回数据:一个一维字符串数组 String(),结构为:城市名称(城市代码)。
}
}