asp.net-core - 发送到 Web API 时,XML 正文为空/默认
问题描述
在过去的两天里,我一直在用头撞墙。对于我们的客户端,我们需要在我们的 API(.NET Core 3.1 或 .NET 5)中创建一个接受 XML (SOAP) 消息的接口。我正处于消息终于进来的地步,但它们总是不完整/空/默认,正如您在图片中看到的那样。
客户端发送的内容(示例 1):
我们的 API 接收到的内容:
如果我们收到包含多个列表的 XML,则列表为空(示例 2):
这里发生了什么?我错过了什么吗?
编辑:
如果我按字母顺序排列 XML,它可以工作:
是的,在我的 Startup 中,我使用了 XmlSerializers:
如果我使用 .AddXmlSerializerFormatters() 我什至无法发送 XML。
解决方案
我测试了你的代码,你可以检查我的步骤。
测试XML:
public class TestXML
{
public int ID { get; set; }
public string Name { get; set; }
public List<TestXML_UoM_Item> TestXML_UoM_List { get; set; }
}
public class TestXML_UoM_Item
{
public string Name { get; set; }
}
XML:
<TestXML>
<TestXML_UoM_List>
<TestXML_UoM_Item>
<Name>aa</Name>
</TestXML_UoM_Item>
<TestXML_UoM_Item>
<Name>bb</Name>
</TestXML_UoM_Item>
</TestXML_UoM_List>
<ID>3</ID>
<Name>Gert</Name>
</TestXML>
StratUp:
services.AddControllersWithViews().AddXmlSerializerFormatters().AddXmlDataContractSerializerFormatters();
行动:
[HttpPost]
public void PostMds([FromBody]TestXML request)
{
//do your logic..
}
推荐阅读
- python - 是否有计算不同类型概率密度函数积分的捷径?
- sql - 对于用户和联系人列表,实体关系图会是什么样子?
- spring - spring jpa 查询返回 404 没有消息
- java - Mysql 查询在 java 中返回未知列。使用智能
- haskell - 编码单子变换器的选择
- javascript - Laravel Echo - 无法加入在线状态频道
- javascript - JS数组长度——什么时候更新,什么时候计算?
- python - 如何编写 python 程序来计算月利率但显示年度产出?
- sql-server - 从定义的数据透视表创建索引视图
- php - docker 和 couchbase sdk 安装