后台请求接口

后台接口请求方法:

void TestMerchant()

    {

        string m_QuestURL = "http://localhost:6154/FlightInterAPI.Web/Merchant/FlightInterModifyMerchant.ashx";//请求地址
        //Post请求地址
        MerchantModifyRequest req = new MerchantModifyRequest();
        req.Content = new MerchantModifyReqContentType();
        req.Content.BeginTime = DateTime.Now;
        req.Content.EndTime = DateTime.Now;
        req.Content.Code = "保留字段";
        req.Content.Flag = 1;
        req.Content.LinkMan = "Test";
        req.Content.Mail= "test@tm.net";
        req.Content.Mobile = "138123";
        req.Content.Name = "无锡中旅";
        req.Content.QQ = "66558855";
        req.Content.Tel = "12323";
        req.Content.MerchantAir = new MerchantAirType[1];
        req.Content.MerchantAir[0] = new MerchantAirType();
        req.Content.MerchantAir[0].AirCode = "CA";
        req.Content.MerchantAir[0].AirCompanyId = 0;
        req.Content.MerchantAir[0].AgencyFee = 0.2M;
        req.Content.MerchantAir[0].BillFee = 20;
        req.Content.MerchantAir[0].Rebeat = 0.3M;
        req.Content.MerchantAir[0].Reward = 0.4M;
        
        req.Header = new HeadType();
        req.Header.Resp = new RespType();
        req.Header.Resp.RespCode = "0";
        req.Header.Resp.RespDesc = "";
        //AVResponse response = FlightInterAPI.Business.Query.FlightService.QueryOneWay(quest);


        HttpWebRequest m_Request = (HttpWebRequest)WebRequest.Create(m_QuestURL);
        string requestXml = Serializer.ObjectToXML<MerchantModifyRequest>(req);//将实体序列化为xml字符串
        //相应请求的参数
        byte[] data = Encoding.UTF8.GetBytes(requestXml);
        m_Request.Method = "Post";
        m_Request.ContentType = "application/x-www-form-urlencoded";
        m_Request.ContentLength = data.Length;

        //请求流
        Stream requestStream = m_Request.GetRequestStream();
        requestStream.Write(data, 0, data.Length);
        requestStream.Close();

        //响应流
        HttpWebResponse m_Response = (HttpWebResponse)m_Request.GetResponse();
        Stream responseStream = m_Response.GetResponseStream();
        StreamReader streamReader = new StreamReader(responseStream, Encoding.UTF8);
        //获取返回的信息
        string result = streamReader.ReadToEnd();

        streamReader.Close();
        responseStream.Close();
        Response.Write(result);

        return;

    }


易出错的地方:小数、时间(当前时间)带了一些本地时间格式

#region 格式化时间类型
        /// <summary>
        /// 格式化时间类型
        /// </summary>
        /// <param name="dTime"></param>
        /// <returns></returns>
        public static DateTime FormatDate(DateTime dTime)
        {
            return DateTime.Parse(dTime.ToString("yyyy-MM-dd HH:mm:ss"));
        }
        #endregion

格式化一下时间就没问题了。


响应方法:

public class FlightInterModifyMerchant : IHttpHandler {
    
    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
        MerchantModifyResponse resp = new MerchantModifyResponse();
        resp.Header = new FlightInterAPI.Model.HeadType();
        resp.Header.Resp = new FlightInterAPI.Model.RespType();
        resp.Header.Resp.RespCode = "0";//成功
        resp.Content = new MerchantModifyRespContentType();
        StreamReader str = new StreamReader(HttpContext.Current.Request.InputStream, System.Text.Encoding.GetEncoding("utf-8"));
        //获取返回的信息
        string requestXml = HttpUtility.UrlDecode(str.ReadToEnd());
        if (string.IsNullOrEmpty(requestXml))
        {
            resp.Header.Resp.RespCode = "1";
            resp.Header.Resp.RespDesc = "请求参数为空异常";
            resp.Content.MerchantId = 0;
        }
        else
        {
            MerchantModifyRequest req = FlightInterAPI.Common.Serializer.XMLToObject<MerchantModifyRequest>(requestXml);//根据xml反序列化为请求实体
            resp = MerchantService.ModifyInfo(req);//调用后台处理方法处理,返回响应实体
        }
        context.Response.Write(FlightInterAPI.Common.Serializer.ObjectToXML<MerchantModifyResponse>(resp));
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值