因项目需求,故有以下代码(有被调试过,可能无法直接运行)
所需jar下载地址:http://download.csdn.net/detail/lin358/9686785(2016/11最新版3.6.2)
所需jar下载地址:http://download.csdn.net/detail/lin358/9686785(2016/11最新版3.6.2)
//调用的方法
String methodName = "getWeather";
//创建httpTransportSE传输对象
HttpTransportSE ht = new HttpTransportSE(SERVICE_URL);
//使用soap1.1协议创建Envelop对象
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
//实例化SoapObject对象
SoapObject request = new SoapObject(SERVICE_NS, methodName);
//设置参数
request.addProperty("theCityCode", "福州");
request.addProperty("theUserID", "31121");
//将SoapObject对象设置为SoapSerializationEnvelope对象的传出SOAP消息
envelope.bodyOut = request;
envelope.dotNet = true;
//envelope.addMapping(SERVICE_NS, "EqEntity", EqEntity.class);
try{
//调用webService
ht.call(SERVICE_NS + methodName, envelope);
//txt1.setText("看看"+envelope.getResponse());
//t.setText("启动->");
List<EqEntity> list = new ArrayList<EqEntity>();
if(envelope.getResponse() != null){
//txt2.setText("有返回");
SoapObject result = (SoapObject) envelope.bodyIn;
//Object result1 = envelope.getResponse();
String name = "";
SoapObject so = (SoapObject) result.getProperty(0);
for(int i = 0; i<so.getPropertyCount(); i++){
SoapObject object = (SoapObject)so.getProperty(i);
// Field[] fields = object.getClass().getFields();
// for (int s = 0; s < fields.length; s++) {
// Field field = fields[s];
// field.setAccessible(true);//忽略访问权限,私有的也可以访问
// String a = field.get(object).toString();
// }
int count = object.getPropertyCount();
if(count==10){
//byte[] tt = StringToByte(object.getProperty(3).toString(), "UTF-8");
list.add(new EqEntity(object.getProperty(0).toString(),
object.getProperty(1).toString(),
object.getProperty(2).toString(),
Base64.decode(object.getProperty(3).toString(), Base64.DEFAULT),
object.getProperty(4).toString(),
object.getProperty(5).toString(),
object.getProperty(6).toString(),
object.getProperty(7).toString(),
object.getProperty(8).toString(),
object.getProperty(9).toString()));
}
//EqEntity e = (EqEntity) oo;
//name += so.getProperty(i).toString()+"||";
//txt1.setText("返回值 = "+name);
}
//t.append("返回值 = "+name);
}else{
// t.append("无返回");
}