PostMan发送body的内容是XML和和后台接收

一个项目中,厂商要传过来XML的body内容。之前做的项目都是传的json,然后用Json对应的实体就可以接收了

现在传过来就不知道后台用什么样的方法接收了。上代码

参考链接

 

 

 

         [HttpPost]
        public async Task<ActionResult> SOConfirm(XmlDocument doc)//string appid, string token,
        {
           
            ActionResult result = null;try
            {               
                //解析下XML-->json
//下面标红的进行了二次的转换,并不是直接解析xml的,因为,直接用的话,
//转出来的json会有就给我解出来"#whitespace","#text"等这玩意
//二次转后就不会有那些个异样的字符串
XmlDocument doctext = new XmlDocument(); doctext.LoadXml(doc.InnerXml); string json = Newtonsoft.Json.JsonConvert.SerializeXmlNode(doctext); var j = JObject.Parse(json);

if (string.IsNullOrEmpty(j["request"]["orderDetails"]["detail"].ToString())) { throw new ECOrderException { ErrorCode = "SOConfirmVwms_02", TransMessage = "订单明细不能为空" }; } //存到sql的必要的数据 string deliveryOrderCode = j["request"]["deliveryOrder"]["deliveryOrderCode"].ToString(); string warehouseCode = j["request"]["deliveryOrder"]["warehouseCode"].ToString();

在startUp类中添加服务:

  services.AddMvc()
              .AddXmlSerializerFormatters();
一定要注册服务,不注册服务上面的参数,
XmlDocument 根本接收不到值

 

posted @ 2020-04-13 20:11  ProZkb  阅读(1711)  评论(0编辑  收藏  举报