Использование следующего определения Web-сервиса с использованием aClientArgs в качестве сложного типа:
[System.Web.Script.Services.ScriptService]
public class Controller : System.Web.Services.WebService {
[WebMethod]
public void save_client(aClientArgs client)
{
// Save client data
}
}
Затем определение aClientArgs как подкласса:
public class aArgs
{
public string id = null;
public string name = null;
}
public class aClientArgs : aArgs
{
public string address = null;
public string website = null;
}
Возвращает следующий фрагмент WSDL для аргументов save_client:
<save_client xmlns="http://tempuri.org/">
<client>
<address>string</address>
<website>string</website>
</client>
</save_client>
Когда я ожидаю следующего:
<save_client xmlns="http://tempuri.org/">
<client>
<id>string</id>
<name>string</name>
<address>string</address>
<website>string</website>
</client>
</save_client>
Похоже, что .NET WebService не рассматривает унаследованные свойства как аргументы / переменные для целей веб-службы. Как получить .NET также использовать свойства базового класса?