1. string Url = System.Configuration.ConfigurationManager.AppSettings["CallPaperInvoiceURL"];
  2. Url = @"" + Url + "?id=" + PK_ECOrderHead + "&whse=" + Whse + "";
  3. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
  4. request.Method = "GET";
  5. request.ProtocolVersion = HttpVersion.Version10;
  6. ServicePointManager.SecurityProtocol = (SecurityProtocolType);
  7. HttpWebResponse res = (HttpWebResponse)request.GetResponse();
  8. StreamReader rd = new StreamReader(res.GetResponseStream());
  9. string theContent = rd.ReadToEnd();
  1. string WHSE = Request["WHSE"].ToString();
  2. string transId = OrderData.GenerateTransId();
  3. eStore2.App_Code.Data.OmsRoot.Root root = new eStore2.App_Code.Data.OmsRoot.Root();
  4. eStore2.App_Code.Data.OmsRoot.Head head = new eStore2.App_Code.Data.OmsRoot.Head();
  5. head.transId = transId;
  6. head.transCode = "S1005";
  7. eStore2.App_Code.Data.OmsRoot.Body body = new eStore2.App_Code.Data.OmsRoot.Body();
  8. body.WHSE = WHSE;
  9. root.head = head;
  10. root.body = body;
  11. Encoding encoding = Encoding.UTF8;
  12. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(OrderData.Get_GetIMInventoryURL(System.Configuration.ConfigurationManager.AppSettings["GetIMInventory_KeyName"]).Rows[]["KeyValue"].ToString());
  13. request.Method = "POST";
  14. request.Accept = "text/html, application/xhtml+xml, */*";
  15. request.ContentType = "application/json";
  16. byte[] buffer = encoding.GetBytes(JsonConvert.SerializeObject(root));
  17. request.ContentLength = buffer.Length;
  18. request.GetRequestStream().Write(buffer, , buffer.Length);
  19. HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  20. using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
  21. {
  22. string Result = reader.ReadToEnd();
  23. eStore2.App_Code.Data.OmsRoot.Root root_s = JsonConvert.DeserializeObject<eStore2.App_Code.Data.OmsRoot.Root>(Result);
  24. List<eStore2.App_Code.Data.OmsRoot.DetailItem> detailItems = root_s.body.detail;
  25. foreach (var item in detailItems)
  26. {
  27. OrderData.Insert_MDB_SYNC_LOG(item.PartNo, item.Qty);
  28. }
  29. }
  30. ShowAlertMessage("库存获取完毕");
  1. var rss = new JObject
  2. {
  3. {"Head",new JObject
  4. {
  5. {"TransCode","X1009" },
  6. {"TransId",transid}
  7. }
  8. },
  9. { "Body", new JObject
  10. {
  11. {"OrderSN", q.OrderSn },
  12. {"WHSE",q.Whse},
  13. {"SNs", SNs }
  14. }
  15. }
  16. };
  17.  
  18. //呼叫接口
  19. HttpContent JSONContents = new StringContent(JsonConvert.SerializeObject(rss), Encoding.UTF8, "application/json");
  20. using (var response = httpClient.PostAsync(Url, JSONContents).Result)
  21. {
  22. if (response.IsSuccessStatusCode)
  23. {
  24. string s = $"{response.Content.ReadAsStringAsync().Result}";
  25. if (s == "Y")
  26. {
  27. using (var tran = _Database.Database.BeginTransaction())
  28. {
  29. try
  30. {
  31. await _Database.OmsEcjsonlog.AddAsync(new OmsEcjsonlog
  32. {
  33. CreateDateTime = System.DateTime.UtcNow.AddHours(),
  34. Fk = _HeadId,
  35. Json = JsonConvert.SerializeObject(rss),
  36. Msg = $"{q.OrderSn} Paper Invoice"
  37. });
  38. await _Database.Log.AddAsync(GenerateECOrderLog($"成功"));
  39. await _Database.SaveChangesAsync();
  40. tran.Commit();
  41. }
  42. catch (Exception ex)
  43. {
  44. if (tran != null)
  45. tran.Rollback();
  46. throw new Exception($"Failed,{ex.Message}");
  47. }
  48. }
  49. }
  50. else
  51. throw new Exception($"服务系统:{s}");
  52. }
  53. else
  54. {
  55. throw new Exception(response.StatusCode.ToString());
  56. }
  57. }

HttpWebRequest 知识点的更多相关文章

  1. 问题:HttpWebRequest request post 传参; 结果:好用的C# HttpWebRequest用Post同时提交参数和文件的封装类

    在项目中,本来都是在站内进行数据交互的,后来又加进来一个买的php网站(艹).需要进行数据交互,在没有考虑使用web服务的情况下,只有通过Post提交到页面进行数据交互是最好的方式了. 我这边使用的是 ...

  2. dotnet 6 在 Win7 系统证书链错误导致 HttpWebRequest 内存泄露

    本文记录我将应用迁移到 dotnet 6 之后,在 Win7 系统上,因为使用 HttpWebRequest 访问一个本地服务,此本地服务开启 https 且证书链在此 Win7 系统上错误,导致应用 ...

  3. ASP.NET Core 中的那些认证中间件及一些重要知识点

    前言 在读这篇文章之间,建议先看一下我的 ASP.NET Core 之 Identity 入门系列(一,二,三)奠定一下基础. 有关于 Authentication 的知识太广,所以本篇介绍几个在 A ...

  4. ASP.NET MVC开发:Web项目开发必备知识点

    最近加班加点完成一个Web项目,使用Asp.net MVC开发.很久以前接触的Asp.net开发还是Aspx形式,什么Razor引擎,什么MVC还是这次开发才明白,可以算是新手. 对新手而言,那进行A ...

  5. UWP开发必备以及常用知识点总结

    一直在学UWP,一直在写Code,自己到达了什么水平?还有多少东西需要学习才能独挡一面?我想对刚接触UWP的开发者都有这种困惑,偶尔停下来总结分析一下还是很有收获的! 以下内容是自己开发中经常遇到的一 ...

  6. C#高级知识点&(ABP框架理论学习高级篇)——白金版

    前言摘要 很早以前就有要写ABP高级系列教程的计划了,但是迟迟到现在这个高级理论系列才和大家见面.其实这篇博客很早就着手写了,只是楼主一直写写停停.看看下图,就知道这篇博客的生产日期了,谁知它的出厂日 ...

  7. lucene 基础知识点

    部分知识点的梳理,参考<lucene实战>及网络资料 1.基本概念 lucence 可以认为分为两大组件: 1)索引组件 a.内容获取:即将原始的内容材料,可以是数据库.网站(爬虫).文本 ...

  8. DoraCMS 源码知识点备注

    项目需要研究了下DoraCMS这款开源CMS,真心做的不错:).用的框架是常用的express 4 + mongoose,代码也很规范,值得学习. 源码中一些涉及到的小知识点备注下: https:// ...

  9. atitit 商业项目常用模块技术知识点 v3 qc29

    atitit 商业项目常用模块技术知识点 v3 qc29 条码二维码barcodebarcode 条码二维码qrcodeqrcode 条码二维码dm码生成与识别 条码二维码pdf147码 条码二维码z ...

随机推荐

  1. [luogu2154 SDOI2009] 虔诚的墓主人(树状数组+组合数)

    传送门 Solution 显然每个点的权值可以由当前点上下左右的树的数量用组合数\(O(1)\)求出,但这样枚举会T 那么我们考虑一段连续区间,对于一行中两个常青树中间的部分左右树的数量一定,我们可用 ...

  2. MySQL的分组和排序

    分组操作 select count(id) from userinfo group by pat(id); -- 聚合函数: --count --max --sum --avg ---如果对于二次函数 ...

  3. 为什么有些图像在显示前要除以255?(zhuan)

    imshow是用来显示图片的,如 >> I = imread('moon.tif'); >> figure,imshow(I); 而有时为了数据处理,要把读取的图片信息转化为更 ...

  4. hdu_1859_最小长方形_201402282048

    最小长方形 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  5. hdu_2054_A == B_201311301601

    A == B ? Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S ...

  6. 洛谷——P2639 [USACO09OCT]Bessie的体重问题Bessie's We…

    https://www.luogu.org/problem/show?pid=2639 题目描述 Bessie像她的诸多姊妹一样,因为从Farmer John的草地吃了太多美味的草而长出了太多的赘肉. ...

  7. N天学习一个linux命令之umask

    前言 umask不是linux命令,而是shell内置的指令,俗称用户权限掩码,用于对用户创建的文件和目录设置默认权限.默认的权限掩码是0022,也就是说新创建的文件权限是0644,新创建的目录权限是 ...

  8. hdu3592 World Exhibition --- 差分约束

    这题建图没什么特别 x个条件:Sb-Sa<=c y个条件:Sa-Sb<=-c 题目问的是.1和n之间的关系. 有负环的话,整个就不可能成立,输出-1 假设图是连通的(1到n是连通的),就输 ...

  9. javase - 点餐系统

    public class OrderMsg { public static void main(String[] args) throws Exception { /** * 订餐人姓名.选择菜品.送 ...

  10. Apache OFBIZ高速上手(二)--MVC框架

    继续上一篇博客,本篇博客介绍OFBiz的MVC框架. 1.OFBiz特点 OFBiz最基本的特点是OFBiz提供了一整套的开发基于Java的web应用程序的组件和工具.包含实体引擎.服务引擎.消息引擎 ...