微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

WebService航班查询

	private List<AirLineInfo> getAirLine(String startCity,String lastCity,String theDate){
		
		final String SERVICE_NS = "http://WebXml.com.cn/";
		final String SERVICE_URL = "http://webservice.webxml.com.cn/webservices/DomesticAirline.asmx";
		
		String methodName = "getDomesticAirlinesTime";

		HttpTransportSE httpTransport = new HttpTransportSE(SERVICE_URL);
		
		httpTransport.debug = true;
		
		SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);  
		
		SoapObject soapObject = new SoapObject(SERVICE_NS,methodName);
		soapObject.addProperty("startCity",startCity);
		soapObject.addProperty("lastCity",lastCity);
		soapObject.addProperty("theDate",theDate);
		
		envelope.bodyOut = soapObject;
		envelope.dotNet = true;  
		try {
			httpTransport.call(SERVICE_NS + methodName,envelope);
			
			if(envelope.getResponse() != null){
				SoapObject result = (SoapObject) envelope.bodyIn;
				SoapObject detail = (SoapObject) result.getProperty(methodName + "Result");  
				SoapObject diffgram = (SoapObject) detail.getProperty("diffgram");
				SoapObject airlines = (SoapObject) diffgram.getProperty("Airlines");
				
				return SoapObjToList(airlines);
			}
			
		} catch (HttpResponseException e) {
			e.printstacktrace();
		} catch (IOException e) {
			e.printstacktrace();
		} catch (XmlPullParserException e) {
			e.printstacktrace();
		}
		return null;
	}

	
	private List<AirLineInfo> SoapObjToList(SoapObject airlines){
		
		List<AirLineInfo> airlineList = new ArrayList<AirLineInfo>();
		
		for(int i = 0; i < airlines.getPropertyCount();i++){
			SoapObject airline = (SoapObject) airlines.getProperty(i); 
			
			AirLineInfo airlineInfo = new AirLineInfo();
			airlineInfo.setCompany(airline.getProperty("Company").toString());
			airlineInfo.setStartDrome(airline.getProperty("StartDrome").toString());
			airlineInfo.setArriveDrome(airline.getProperty("ArriveDrome").toString());
			airlineInfo.setStartTime(airline.getProperty("StartTime").toString());
			airlineInfo.setArriveTime(airline.getProperty("ArriveTime").toString());
			airlineInfo.setAirlineCode(airline.getProperty("AirlineCode").toString());
			
			airlineList.add(airlineInfo);
		}
		return airlineList;
	}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐