全球购物官方网站有哪些,上海市企业登记网络服务平台,奉节网站建设,个人网站有什么外国广告做2019独角兽企业重金招聘Python工程师标准 1.Webservice.GetVcardByUserNo(String userId#xff0c;String userNo);这个是封装了的webservice接口。 2.在程序中连续两次调用该接口时#xff0c;ksoap2在解析第二次调用返回的结果时抛异常。 异常信息如下… 2019独角兽企业重金招聘Python工程师标准 1.Webservice.GetVcardByUserNo(String userIdString userNo);这个是封装了的webservice接口。 2.在程序中连续两次调用该接口时ksoap2在解析第二次调用返回的结果时抛异常。 异常信息如下org.xmlpull.v1.XmlPullParserException: unexpected type (position:END_DOCUMENT null1:0 in java.io.InputStreamReader4383bf38) 3.打断点调试时不会出现该异常。 4.无奈之下使用android 的HttpURLConnection 直接调用webservice接口直接使用时不会发生以上异常所以使用ksoap2 访问webservice需要设置什么呢 5.使用HttpUrlConnection访问webserivice代码如下: 一)连接webservice String ServerUrlwebservice地址; String soapActionhttp://www.v_card.net.cn/PhoneClient/GetVcardJson; String data; String requestData?xml version\1.0\ encoding\utf-8\?\r\n soap:Envelope xmlns:xsi\http://www.w3.org/2001/XMLSchema-instance\ xmlns:xsd\http://www.w3.org/2001/XMLSchema\ xmlns:soap\http://schemas.xmlsoap.org/soap/envelope/\\r\n soap:Header\r\n AuthHeader xmlns\http://www.v_card.net.cn/PhoneClient/\\r\n UserIduserID/UserId\r\n /AuthHeader\r\n /soap:Header\r\n soap:Body\r\n GetVcardJson xmlns\http://www.v_card.net.cn/PhoneClient/\\r\n vcardUserNouserNo/vcardUserNo\r\n /GetVcardJson\r\n /soap:Body\r\n /soap:Envelope; try{ URL url new URL(ServerUrl); HttpURLConnection con(HttpURLConnection)url.openConnection(); byte[] bytesrequestData.getBytes(utf-8); con.setDoInput(true); con.setDoOutput(true); con.setUseCaches(false); con.setRequestMethod(POST); con.setRequestProperty(Content-Type, text/xml;charsetutf-8); con.setRequestProperty(SOAPAction,soapAction); con.setRequestProperty(Content-Length,bytes.length); OutputStream outStreamcon.getOutputStream(); outStream.write(bytes); outStream.flush(); outStream.close(); InputStream inStreamcon.getInputStream(); dataparser(inStream); 二解析返回的数据 private static String parser(InputStream in){ XmlPullParser parserXml.newPullParser(); String data; try{ int flag0; parser.setInput(in, utf-8); int evenTypeparser.getEventType(); while(evenType!XmlPullParser.END_DOCUMENT){ switch(evenType){ case XmlPullParser.START_DOCUMENT:break; case XmlPullParser.START_TAG: break; case XmlPullParser.TEXT: dataparser.getText(); break; case XmlPullParser.END_TAG:break; } parser.next(); evenTypeparser.getEventType(); } }catch(XmlPullParserException e){ e.printStackTrace(); }catch(IOException e){ e.printStackTrace(); } return data; } 转载于:https://my.oschina.net/davidjianl/blog/36816