minOccurs = "0" для обязательных параметров в WSDL на веб-службе ASP.NET - PullRequest
2 голосов
/ 30 сентября 2008

Я пишу простой веб-сервис с использованием Microsoft Visual Web Developer 2005 (Express Edition), и динамически сгенерированный WSDL имеет minOccurs = "0" для всех параметров.

Как получить minOccurs = "1" для обязательных параметров, не прибегая к созданию статического файла WSDL?

Мне нужно сделать это с помощью веб-службы ASP.NET (.NET v2). Итак, WCF нет.

Ответы [ 2 ]

3 голосов
/ 10 октября 2008

Я думаю, что атрибут XmlElement(IsNullable = true) сделает работу:

using System.Xml.Serialization;

[WebMethod]
public string MyService([XmlElement(IsNullable = true)] string arg)
{
  return "1";
}
1 голос
/ 30 сентября 2008

с форума msdn «Если вы создаете новый веб-сервис, я настоятельно рекомендую создавать веб-сервис с использованием Windows Communication Foundation (WCF) вместо использования веб-служб ASP.NET. В WCF, когда вы указываете контракт данных для вашей службы, вы можете указать, что данный элемент данных требуется, используя свойство IsRequired в DataMemberAttribute. «

источник - http://social.msdn.microsoft.com/forums/en-US/asmxandxml/thread/40ab5748-d32c-42a6-a47f-984ba18a1fe2/

...