在webservices.netc#中使用可选属性作为参数的自定义对象
本文关键字:参数 对象 自定义 属性 netc# webservices | 更新日期: 2023-09-27 18:19:53
我正在用C#-MVC-.Net 构建一个Web服务
webservice必须返回表的寄存器总数,参数是自定义对象(ViewModel)。
使用SoapUi使用Web服务时,如果没有给出类的所有参数,则会失败
代码:
ViewModel
public class request
{
public int id {get; set;}
public string title {get; set;}
public string description {get; set;}
public string state {get; set;}
}
网络服务
[WebMethod]
public int getRequest(request req)
{
// something
}
SoapUi上生成的请求
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/">
<soap:Header/>
<soap:Body>
<tem:getRequest>
<!--Optional:-->
<tem:s>
<tem:id>?</tem:id>
<!--Optional:-->
<tem:title>?</tem:title>
<!--Optional:-->
<tem:description>?</tem:description>
<tem:state>?</tem:state>
</tem:s>
</tem:getRequest>
</soap:Body>
</soap:Envelope>
我可以设置可选和必需的参数?
为什么标签显示为"OPTIONAL"?
谢谢!
指定标记名称。我认为问题实际上是标签"tem:s"
[XmlRoot("s")]
public class request
{
[XmlElement("id")]
public int id { get; set; }
[XmlElement("title")]
public string title { get; set; }
[XmlElement("description")]
public string description { get; set; }
[XmlElement("state")]
public string state { get; set; }
}