</pre><pre name="code" class="java">package com.example.itknowledge.data;
import java.io.IOException;
import java.net.UnknownHostException;
import java.util.ArrayList;
import org.json.JSONArray;
import org.json.JSONObject;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import com.example.itknowledge.bean.Group;
public class KnowledgeData {
//Web Service服务的地址
private static final String SERVER_URL = "http://ios.insigmaedu.com/px/wcf/KnowService.svc";
//命名空间
private static final String NAME_SPACE = "http://tempuri.org/";
//分组的命名模块
private static final String TNS = "IKnowService/";
//具体的访问方法,到WSDL文件中的wsdl:binding 节点找operation属性
private static String SOAP_ACTION_GET_GROUP_LIST = "GetGroupList";
private static String SOAP_ACTION_GET_TYPE_LIST = "GetTypeList";
private static String SOAP_ACTION_GET_INFO_ITEM = "GetInfoItem";
private static String SOAP_ACTION_GET_INFO_LIST_WITH_PAGE_OUT_COUNT = "GetInfoListWithPageOutCount";
/**
* 获得所有的面试题分组 如 Java IOS C++...
* @return ArrayList<Group> 结构
*/
public static ArrayList<Group> findGroupList() throws NetworkProblemException{
ArrayList<Group> groupList = new ArrayList<Group>();
//构建SoapObject
SoapObject so = new SoapObject(NAME_SPACE, SOAP_ACTION_GET_GROUP_LIST);
so.addProperty("keyWord", "");
//构建一个Envelope
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.bodyOut = so;
envelope.setOutputSoapObject(so);
//建立连接
HttpTransportSE ht = new HttpTransportSE(SERVER_URL);
try {
//发起请求,ksoap2会把返回结果放入envelope
ht.call(NAME_SPACE + TNS + SOAP_ACTION_GET_GROUP_LIST, envelope);
SoapPrimitive responseData = (SoapPrimitive)envelope.getResponse();
String json = responseData.toString();
//解析json数据
JSONObject jo = new JSONObject(json);
JSONArray ja = jo.getJSONArray("List");
for (int i = 0; i < ja.length(); i++) {
JSONObject joo = ja.getJSONObject(i);
Group group = new Group();
group.id = joo.getInt("DjLsh");
group.name = joo.getString("GroupName");
groupList.add(group);
}
} catch (Exception e) {
e.printStackTrace();
}
return groupList;
}
}
下面这个事放置数据的Group类
package example.itknowledge.bean.Group;
public class Group {
public int id;
public String groupName;
public int sortNum;
}