예제 #1
0
        /// <summary>
        /// 请求接口地址
        /// </summary>
        /// <param name="requestEntity"></param>
        /// <returns></returns>
        protected string HotelApiCall(CtripBaseAPICallEntity requestEntity)
        {
            string         requestUrl = string.Format("{0}/Hotel/{1}.asmx", CtripApiUrl, requestEntity.RequestType);
            HttpWebRequest request    = HttpWebRequest.Create(requestUrl) as HttpWebRequest;

            request.Method      = "POST";
            request.ContentType = "application/xml";
            string lang = "ZH-CN";


            CtripAPICommon apicommon     = new CtripAPICommon(SID, AllianceID, APIKEY, requestUrl);
            string         requestHeader = apicommon.GetHeadXML(requestEntity.RequestType, lang);
            string         strInputXML   = requestEntity.RequestContent;

            strInputXML = "<HotelRequest><RequestBody xmlns:ns=\"http://www.opentravel.org/OTA/2003/05\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" + strInputXML + "</RequestBody></HotelRequest>";
            string    requestXML = string.Format(requestHeader, strInputXML);
            Hashtable ht         = new Hashtable();

            ht.Add("requestXML", requestXML);
            try
            {
                XmlDocument xd     = WebSvcCaller.QuerySoapWebService(requestUrl, "Request", ht);
                string      repXml = xd.InnerXml.Replace("xmlns=\"http://www.opentravel.org/OTA/2003/05\"", "");
                return(repXml);
            }
            catch (Exception ex)
            {
                LogHelper.Error(requestXML, ex);
                Thread.Sleep(6000);
            }
            return(null);
        }
예제 #2
0
        /// <summary>
        /// 请求接口地址
        /// </summary>
        /// <param name="requestEntity"></param>
        /// <returns></returns>
        protected string HotelApiCall(CtripBaseAPICallEntity requestEntity)
        {
            string requestUrl = string.Format("{0}/Hotel/{1}.asmx", CtripApiUrl, requestEntity.RequestType);
            HttpWebRequest request = HttpWebRequest.Create(requestUrl) as HttpWebRequest;
            request.Method = "POST";
            request.ContentType = "application/xml";
            string lang = "ZH-CN";


            CtripAPICommon apicommon = new CtripAPICommon(SID, AllianceID, APIKEY, requestUrl);
            string requestHeader = apicommon.GetHeadXML(requestEntity.RequestType, lang);
            string strInputXML = requestEntity.RequestContent;
            strInputXML = "<HotelRequest><RequestBody xmlns:ns=\"http://www.opentravel.org/OTA/2003/05\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" + strInputXML + "</RequestBody></HotelRequest>";
            string requestXML = string.Format(requestHeader, strInputXML);
            Hashtable ht = new Hashtable();
            ht.Add("requestXML", requestXML);
            try
            {

                XmlDocument xd = WebSvcCaller.QuerySoapWebService(requestUrl, "Request", ht);
                string repXml = xd.InnerXml.Replace("xmlns=\"http://www.opentravel.org/OTA/2003/05\"", "");
                return repXml;
            }
            catch (Exception ex)
            {
                LogHelper.Error(requestXML, ex);
                Thread.Sleep(6000);
            }
            return null;
        }