Я начал разрабатывать новый веб-сервис в VS2005. Есть только один метод:
[WebMethod]
[XmlInclude(typeof(Person))]
public PersonAction GetAction()
{
PersonAction action = new PersonAction();
return action;
}
где PersonAction
класс содержит поле со ссылкой на Person
класс
[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
... нет определения для встроенных типов, поэтому я всегда получаю null на стороне клиента.
XmlElement
, XmlInclude
, [Serializable]
видимо не действуют...
Я уверен, что что-то упустил.
Наверняка кто-то сталкивался с этой проблемой в прошлом и знает решение. Я был бы очень признателен за любой фрагмент кода для VS2005 (.NET 2.0), который поможет.
Спасибо