对于ASP.NET Web服务上的WSDL中的必需参数,minOccurs =“0”

时间:2008-09-30 19:25:50

标签: asp.net vb.net web-services wsdl

我正在使用Microsoft Visual Web Developer 2005(Express Edition)编写一个简单的Web服务,并且动态生成的WSDL对所有参数都有一个minOccurs =“0”。

如何在不诉诸创建静态WSDL文件的情况下获取所需参数的minOccurs =“1”?

我需要使用ASP.NET Web服务(.NET v2)执行此操作。所以,没有WCF。

2 个答案:

答案 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属性来指定需要给定数据成员。 “

来源 - http://social.msdn.microsoft.com/forums/en-US/asmxandxml/thread/40ab5748-d32c-42a6-a47f-984ba18a1fe2/