【发布时间】:2018-09-14 22:49:54
【问题描述】:
我在 ASP.NET Core 中有一个 Web API,该方法具有以下签名:
[HttpPost]
public HttpResponseMessage Foo(HttpRequestMessage data)
这是我发送给操作的数据:
<s:Envelope
xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<DTO
xmlns="http://tempuri.org/">
<field1>1</field1>
<field2>2</field2>
</DTO>
</s:Body>
</s:Envelope>
我正在向 Postman 提出请求,其中 Data 是一个肥皂 xml 消息。 标头的 Content-Type: :"application/xml" (也试过:application/x-www-form-urlencoded)
出于某种奇怪的原因,当我尝试读取此数据时,我可以看到以下内容: 方法:获取 内容:无 请求网址:空 标头:{{}}
在开始时,我还包括了 XmlFormatters(假设这是问题的根源):
services.AddMvc(options =>
{
options.RespectBrowserAcceptHeader = true;
options.InputFormatters.Add(new XmlSerializerInputFormatter());
options.OutputFormatters.Add(new XmlSerializerOutputFormatter());
}
);
但这并没有帮助。
我还有另一个 Web Api(用于 .NET Framework),我成功接收到 HttpRequestMessage 参数。
问题的根源是什么?
【问题讨论】:
-
.Net 和 Core 应用程序和代码是否相同?
-
两个应用程序中的代码除了 Startup 之外是相同的,正如我提到的,我试图让 xmlformatters 认为这可能会解决问题
标签: c# asp.net-web-api asp.net-core