android webservice soap 解析 超时问题

来源:互联网 发布:小学课程同步软件免费 编辑:程序博客网 时间:2024/05/22 10:52

jar下载地址:http://download.csdn.net/detail/proud2005/5817383

 

public static void main(String[] args) {Map<String, String> map = new HashMap<String, String>();map.put("carNo", "908");map.put("pwd", "1");try {System.out.println(parseSoap("getLoginCar", map, 0));} catch (SocketTimeoutException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (XmlPullParserException e) {// TODO Auto-generated catch blocke.printStackTrace();}}private static void printSyso(Object str) {System.out.println(str);}/** * @param methodname *            actionName 方法名 * @param para *            参数列表 * @param timeOut *            连接超时时间 单位 毫秒<Br> *            不超时0 * @return 服务器返回的第一个属性值 * @throws IOException * @throws XmlPullParserException * @throws SocketTimeoutException *             超时时抛出的异常 */private static String parseSoap(String methodname,Map<String, String> para, int timeOut) throws IOException,XmlPullParserException, SocketTimeoutException {HttpTransportSE ht = new HttpTransportSE(SERVICE_URL, timeOut);SoapSerializationEnvelope se = new SoapSerializationEnvelope(SoapEnvelope.VER11);SoapObject so = new SoapObject(SERVICE_NS, methodname);if (para != null) {for (String str : para.keySet()) {so.addProperty(str, para.get(str));}}se.bodyOut = so;se.dotNet = true;ht.call(SERVICE_NS + methodname, se);StringBuffer sb = new StringBuffer();if (se.getResponse() != null) {SoapObject sor = (SoapObject) se.bodyIn;printSyso(sor);Object or = sor.getProperty(0);printSyso(or);sb.append(or);}return sb.toString();}