Особенности форматирования данных согласно спецификации SOAP
Вторая программа WebService, как можно догадаться из ее названия, является Web-службой. Ниже приведено содержимое файла CustomerList.asmx.
<%@ WebService class="Test" %>
Исходный файл WebService.h содержит следующий код. Обратите внимание, что на этот раз класс Customer (Клиент) не имеет атрибута Serializable (Преобразуемый в последовательную форму).
public _gc class Customer // класс сборщика мусора Клиент { public: String *name; // Строка long id; // идентификатор Customer *next; // Клиент }; public _gc class Test: public WebService // класс сборщика мусора Испытание: WebService { public: [WebMethod] Customer *GetList() // Клиент { Customer *custl = new Customer; // Клиент *custl = новый Клиент; custl › name = "John Smith"; // Джон Смит custl › id = 1; // идентификатор = 1 Customer *cust2 = new Customer; // Клиент *cust2 = новый Клиент; cust2 › name = "Mary Smith"; // Мэри Смит cust2 › id =2; // идентификатор = 2 cust2 › next = custl; // следующий cust1 › next = cust2; // следующий return cust1; } };
Чтобы запустить данную программу, создайте на основе каталога SOAP Differences\WebService виртуальный каталог SOAPWebServiceTest. Затем укажите в адресной строке Internet Explorer следующий унифицированный указатель информационного ресурса (URL) http://localhost/SOAPWebServiceTest/CustomerList.asmx?op=GetList. Internet Explorer распознает, что файл, определяемый этим указателем информационного ресурса (URL), реализует Web-службу. Вид окна Internet Explorer приведен на рис. 11.3.
Рис. 11.3. Internet Explorer распознал файл CustomerList. автхкак Web-службу