Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET核心Web API:不应为xmlns_C#_Asp.net Core Webapi_Xml Formatting - Fatal编程技术网

C# ASP.NET核心Web API:不应为xmlns

C# ASP.NET核心Web API:不应为xmlns,c#,asp.net-core-webapi,xml-formatting,C#,Asp.net Core Webapi,Xml Formatting,我正在尝试构建一个将XML作为请求数据的API 我的控制器操作: [HttpPost] [Route("/api/MyApi/CalculateMyPrice")] public virtual ActionResult<IEnumerable<string>> CalculateMyPrice(Request request) {} 和我的XML格式设置: public void ConfigureServices(IServiceCollection service

我正在尝试构建一个将XML作为请求数据的API

我的控制器操作:

[HttpPost]
[Route("/api/MyApi/CalculateMyPrice")]
public virtual ActionResult<IEnumerable<string>> CalculateMyPrice(Request request)
{}
和我的XML格式设置:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc()
            .SetCompatibilityVersion(CompatibilityVersion.Version_2_2)
            .AddXmlSerializerFormatters();
}
但是,当我尝试使用POSTMAN访问此方法时,我遇到以下错误:

InvalidOperationException:
不应出现

但是当我从请求XML中删除
xmlns=
时,我得到了正确的响应


也许我错过了什么?有什么想法吗?

当在
xml
有效负载中应用
xml名称空间时,还必须指出相应的模型/类正在使用并且期望使用此名称空间

为此,您使用
XmlRootAttribute
装饰类

[XmlRoot(Namespace ="urn:com.mysystems:api-message.002")]
public partial class Request
{
    public RequestHeader ReqHdr { get; set; }
}

public partial class RequestHeader
{
    public string MsgId { get; set; }
}

xml
有效负载中应用
xml名称空间
时,还必须指出相应的模型/类正在使用并且期望使用此名称空间

为此,您使用
XmlRootAttribute
装饰类

[XmlRoot(Namespace ="urn:com.mysystems:api-message.002")]
public partial class Request
{
    public RequestHeader ReqHdr { get; set; }
}

public partial class RequestHeader
{
    public string MsgId { get; set; }
}

命名空间的URL看起来不正确:uri:com.mysttems:api-nessage.002命名空间的URL看起来不正确:uri:com.mysttems:api-nessage.002