我正在使用Microsoft Visual Web Developer 2005(Express Edition)编写一个简单的Web服务,并且动态生成的WSDL对所有参数都有一个minOccurs =“0”。
如何在不诉诸创建静态WSDL文件的情况下获取所需参数的minOccurs =“1”?
我需要使用ASP.NET Web服务(.NET v2)执行此操作。所以,没有WCF。
答案 0 :(得分:3)
我认为XmlElement(IsNullable = true)
属性可以完成这项任务:
using System.Xml.Serialization;
[WebMethod]
public string MyService([XmlElement(IsNullable = true)] string arg)
{
return "1";
}
答案 1 :(得分:1)
来自msdn论坛 “如果您要创建新的Web服务,我强烈建议您使用Windows Communication Foundation(WCF)而不是使用ASP.NET Web服务来构建Web服务。 在WCF中,当您为服务指定数据协定时,您可以使用DataMemberAttribute上的IsRequired属性来指定需要给定数据成员。 “