У меня есть следующий класс
[Serializable()]
[XmlType(AnonymousType=true)][XmlRoot(Namespace="", IsNullable=false)]
public class Test
{
[XmlAttribute()]
public string Prop { get; set; }
public string Another { get; set; }
}
Я использовал этот класс и в веб-службе WCF (SVC), и в веб-службе ASMX, и я ожидаю получить тело SOAP, совместимое как для ASMX, так и для SVC, где свойство «Prop» является атрибутом. Кроме того, я попытался добавить сервис и веб-ссылку на SVC и ASMX, и вот как выглядели XSD:
- Сервисная ссылка на SVC: не создан атрибут XmlAttribute для свойства Test.Prop
- Сервисная ссылка на ASMX: создан атрибут XmlAttribute для свойства Test.Prop
- Веб-ссылка на SVC: создано свойство XmlElement for Test.Prop
- Веб-ссылка на ASMX: создан атрибут XmlAttribute для свойства Test.Prop
Мой вопрос: почему сгенерированные XSD и, следовательно, SOAP XML не состоят? Я знаю, что это не имеет значения, так как оба метода работали независимо от созданной схемы.