public static final String NAMESPACE ="http://tempuri.org/";
private static final String URLCatalog ="http://192.168.1.123:8002/AssetServer/CatalogService.asmx";
private static final String URLCount ="http://192.168.1.123:8002/AssetServer/AccountService.asmx";
private static final String URLFile ="http://192.168.1.123:8002/AssetServer/FileService.asmx";
private static final String URLQuery ="http://192.168.1.123:8002/AssetServer/QueryService.asmx";
private static final String URLWork ="http://192.168.1.123:8002//AssetServer/WorkFlowService.asmx";
SoapSerializationEnvelope envelope =new SoapSerializationEnvelope(
SoapEnvelope.VER11);
具体的方法如下:
public void fillTable(String id) {
String method = "fillTableByID";
SQueEnt sqe = new SQueEnt("磁带编号,并列正题名", "后台测试", "nvarchar(50)");
ArrayOfSQueEnt sci = new ArrayOfSQueEnt();
sci.add(sqe);
sci.add(sqe);
SoapObject request = new SoapObject(NAMESPACE, method);
PropertyInfo tabProp1 = new PropertyInfo();
tabProp1.setName("sqecol");
tabProp1.setValue(sci);
tabProp1.setType(ArrayOfSQueEnt.class);
request.addProperty(tabProp1);
// String id="179d570d-5da3-40ac-a7ba-e72c02c38b4c";
// request.addProperty("sqecol",array);
String type = getFiletype(id);
request.addProperty("xbType", type);
request.addProperty("Fileid", id);
//System.out.println(type +" :" + id);
envelope.addMapping(NAMESPACE, "sqecol",
new ArrayOfSQueEnt().getClass());
envelope.addMapping(NAMESPACE, "SQueEnt", new SQueEnt().getClass());
envelope.bodyOut = request;
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
envelope.encodingStyle = "UTF-8";
HttpTransportSE androidHttpTransport = new HttpTransportSE(URLQuery);
androidHttpTransport.debug = true;
try {
androidHttpTransport.call(NAMESPACE + method, envelope);
if (envelope.bodyIn != null) {
Object resultObj = (Object) envelope.bodyIn;
System.out.println(envelope.bodyIn.toString());
} else {
System.out.println("WebServicefillTable()没有获取到数据!");
}
} catch (IOException e) {
System.out.println(e);
e.printStackTrace();
} catch (XmlPullParserException e) {
System.out.println(e);
e.printStackTrace();
}
}
参考:
https://code.google.com/p/ksoap2-android/wiki/CodingTipsAndTricks#Manual_Parsing_of_an_Array_of_into_an_POJO_array