WebService 发车站和到达站查询火车时刻表 返回的是 DataSet 数据该怎么处理 (Android)
getStationAndTimeByStationName:通过发车站和到达站查询火车时刻表 DataSet
输入参数:StartStation = 发车站,ArriveStation = 到达站(支持第一个字匹配模糊查询),空字符串默认发车站上海和到达站北京,UserID = 商业用户ID(普通用户不需要);返回数据:DataSet,Item.(TrainCode)=车次、Item.(FirstStation)=始发站、Item.(LastStation)=终点站、Item.(StartStation)=发车站、Item.(StartTime)=发车时间、Item.(ArriveStation)=到达站、Item.(ArriveTime)=到达时间、Item.(KM)=里程(KM)、Item.(UseDate)=历时
- Java code
public static void getStationByStation(String startStation, String arriveStation) { SoapObject soapObject = new SoapObject(Constant.NAMESPACE, Constant.getStationByStation); System.out.println("SoapObject = " + soapObject); soapObject.addProperty("StartStation", startStation); soapObject.addProperty("ArriveStation", arriveStation); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.bodyOut = soapObject; envelope.dotNet = true; envelope.setOutputSoapObject(soapObject); HttpTransportSE httpTranstation = new HttpTransportSE(Constant.URL); httpTranstation.debug = true; try { httpTranstation.call(Constant.SOAP_ACTION1, envelope); SoapObject detail = (SoapObject)envelope.getResponse(); // 程序执行到这报错,SoapFault - faultcode: 'soap:Server' faultstring: '服务器无法处理请求。 } catch (IOException e) { e.printStackTrace(); } catch (XmlPullParserException e) { e.printStackTrace(); } }- Java code
public static final String NAMESPACE = "http://WebXml.com.cn/"; public static final String getStationByStation = "getStationAndTimeByStationName"; public static final String SOAP_ACTION1 = "http://WebXml.com.cn/getStationAndTimeByStationName";
多谢!
[解决办法]
你这用的是第三方架包,没用过!不过原理应该差不多!
我请求webservce,返回DataTable之类的数据,说白了,就是写类解析XML文件。
[解决办法]
返回的形式可以是xml或者json格式,你可以找到节点以此循环,简单的只是你要把节点间的关系把握好,一层一层去解析