Я начал разработку нового веб-сервиса в VS2005. Есть только один метод:
[WebMethod]
[XmlInclude(typeof(Person))]
public PersonAction GetAction()
{
PersonAction action = new PersonAction();
return action;
}
где PersonAction
class содержит поле со ссылкой на Person
class
[Serializable]
public class PersonAction
{
private string actionName = "XAction";
private Person person1;
private Person person2;
public PersonAction()
{
this.person = new Person();
this.person.Name = "P1";
}
public string Name
{
get
{
return this.actionName;
}
}
[XmlElement(Type = typeof(Person))]
public Person Person1
{
get
{
return this.person1;
}
}
}
Я его собрал, запустил ... но в wsdl он всегда содержит пустой тег для PersonAction
... нет определения встроенных типов, поэтому на стороне клиента я всегда получаю ноль. *
XmlElement
, XmlInclude
, [Serializable]
явно не имеют эффекта ...
Я уверен, что что-то упустил.
Наверняка кто-то сталкивался с этой проблемой в прошлом и знает решение. Я был бы очень признателен за любой кусок кода для VS2005 (.NET 2.0), который помог бы.
Спасибо