我的代码: public static List<String> getCityList() { List<String> list = new ArrayList<String>();
//设置请求头信息 Element[] header = new Element[1]; header[0] = new Element().createElement(serviceNameSpace, "Header");
Element sourceDeviceCode = new Element().createElement(serviceNameSpace, "sourceDeviceCode"); sourceDeviceCode.addChild(Node.TEXT, "pbs"); header[0].addChild(Node.ELEMENT, sourceDeviceCode);
Element timeStamp = new Element().createElement(serviceNameSpace, "timeStamp"); timeStamp.addChild(Node.TEXT, "30001010101010"); header[0].addChild(Node.ELEMENT, timeStamp);
Element authenticatorSource = new Element().createElement(serviceNameSpace, "authenticatorSource"); authenticatorSource.addChild(Node.TEXT, "3c44f8a37088f61513930dac687576649a7b38bb4ca20317ea999ba20efc1d29"); header[0].addChild(Node.ELEMENT, authenticatorSource);
Element version = new Element().createElement(serviceNameSpace, "version"); version.addChild(Node.TEXT, "1.0"); header[0].addChild(Node.ELEMENT, version);
//实例化SoapObject对象 SoapObject request = new SoapObject(serviceNameSpace, syncLaunchInfo);
{
List<String> list = new ArrayList<String>();
//设置请求头信息
Element[] header = new Element[1];
header[0] = new Element().createElement(serviceNameSpace, "Header");
Element sourceDeviceCode = new Element().createElement(serviceNameSpace, "sourceDeviceCode");
sourceDeviceCode.addChild(Node.TEXT, "pbs");
header[0].addChild(Node.ELEMENT, sourceDeviceCode);
Element timeStamp = new Element().createElement(serviceNameSpace, "timeStamp");
timeStamp.addChild(Node.TEXT, "30001010101010");
header[0].addChild(Node.ELEMENT, timeStamp);
Element authenticatorSource = new Element().createElement(serviceNameSpace, "authenticatorSource");
authenticatorSource.addChild(Node.TEXT, "3c44f8a37088f61513930dac687576649a7b38bb4ca20317ea999ba20efc1d29");
header[0].addChild(Node.ELEMENT, authenticatorSource);
Element version = new Element().createElement(serviceNameSpace, "version");
version.addChild(Node.TEXT, "1.0");
header[0].addChild(Node.ELEMENT, version);
//实例化SoapObject对象
SoapObject request = new SoapObject(serviceNameSpace, syncLaunchInfo);
//如果方法需要参数,设置参数
// request.addProperty("imei", "5641512");
// request.addProperty("launchTime", "20140425154500");
// request.addProperty("imgSize", "1");
//获得序列化的Envelope,设置Soap的请求信息,参数部分为Soap协议的版本号,与要调用的webService中版本号一致
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.headerOut = header;
envelope.bodyOut = request;
envelope.dotNet = false;
// (new MarshalBase64()).register(envelope);
//构建Android传输对象,并指明WSDL文档URL
HttpTransportSE transport = new HttpTransportSE(serviceURL, timeout);
transport.debug = true;
//调用
try
{
//访问WebService,第一个参数为命名空间 + 方法名,第二个参数为Envelope对象
transport.call(serviceNameSpace + syncLaunchInfo, envelope);
String s = envelope.bodyIn.toString();
Log.e("s", s);
//解析返回的数据
SoapObject result = (SoapObject)envelope.getResponse();
// if (null != result)
// {
// int count = result.getPropertyCount();
// for (int i = 0; i < count; i++)
// {
// list.add(result.getProperty(i).toString());
// }
// }
}
catch (IOException e)
{
Log.getStackTraceString(e);
Log.e("IOException", e.toString());
}
catch (XmlPullParserException e)
{
Log.getStackTraceString(e);
Log.e("XmlPullParserException", e.toString());
}
Log.e("ddddd", list.toString());
return list;
}