Использование web-сервисов xml в клиентских приложениях



Скачать 46.51 Kb.
Дата18.09.2014
Размер46.51 Kb.
ТипДокументы
Использование web-сервисов XML в клиентских приложениях

Клиентом web-сервиса XML может быть не только web-сайт, но и обычное приложение. Использование web-сервиса возможно при подключении ссылки на него через опцию проекта “Add Web Reference”. В результате выбора из доступных web-сервисов требуемого будут сгенерированы папки Web References\localhost внутри проекта, в которых окажутся файлы .wdsl, .disco и Reference.cs, описывающие работу с web-методами и типами данных, предоставляемыми web-сервисом. Файлы описания используют язык xml:



Файл Reference.cs вводит новое пространство имен имя_проекта.localhost, в котором определяет класс-оболочку для web-сервиса:

public partial class Service :

System.Web.Services.Protocols.SoapHttpClientProtocol


в котором задаются методы синхронного и асинхронного вызова web-методов web-сервиса.

Например, для метода HelloWorld методы его вызова будут такими:


[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/HelloWorld", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]

public string HelloWorld()

{

object[] results = this.Invoke("HelloWorld", new object[0]);



return ((string)(results[0]));

}
Вызов метода web-сервиса осуществляется с помощью метода Invoke, в котором первым параметром указывается имя метода, а вторым параметром – массив типа object параметров, передаваемых web-методу.Функции асинхронного вызова работают по принципам технологии Ajax и называются как web-метод с добавлением суффикса Async, например, HelloWorldAsync.

При передаче параметров web-методу функция вызова также будет получать параметры, например, при регистрации нового пользователя:
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/Registration", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]

public bool Registration(string fam, string im, string address, string email, string login, string pass, string birth)

{

object[] results = this.Invoke("Registration", new object[] {



fam, im, address, email, login, pass, birth});

return ((bool)(results[0]));

}
Для каждого пользовательского типа данных, определенного в web-сервисе, генерируется класс с свойствами, через которые осуществлется доступ к полям класса.

Например, для хранения информации о товаре будет сгенерирован класс:
public partial class InfoTovar {

private string name_catField;

private int id_bookField;

private string name_bookField;

private string authorField;

private double priceField;

public string name_cat {

get {


return this.name_catField;

}

set {



this.name_catField = value;

}

}



public int id_book {

get {


return this.id_bookField;

}

set {



this.id_bookField = value;

}

}



public string name_book {

get {


return this.name_bookField;

}

set {



this.name_bookField = value;

}

}



public string author {

get {


return this.authorField;

}

set {



this.authorField = value;

}

}



public double price {

get {


return this.priceField;

}

set {



this.priceField = value;

}

}



}

В результате для применения web-методов, предоставляемых web-сервисом, в приложении достаточно подключить новое пространство имен, которое определяется файлом Reference.cs, создать объект класса-оболочки web-сервиса и вызывать по необходимости его методы:


using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

// подключение пространства имен web-сервиса

using WindowsApplication1.localhost;
namespace WindowsApplication1

{

public partial class Form1 : Form



{

// создание объекта web-сервиса

private Service serv = new Service();

int isAuto = 0;

// метод выбора пункта меню авторизации

private void авторизоватьсяToolStripMenuItem_Click

(object sender, EventArgs e)

{

// вызов диалога авторизации



Autorization dlg = new Autorization();

if (dlg.ShowDialog() == DialogResult.OK)

{

// чтение введенных логина и пароля



string login = dlg.Login;

string passw = dlg.Password;

// вызов web-метода авторизации с введенными даннми

if ((isAuto = serv.Autorization(login, passw))>0)

{

// сообщение об успешной авторизации



menuStrip1.Items[0].Enabled = false;

MessageBox.Show("Поздравляю! Вы авторизованы!");

}

else


{

// сообщение об ошибке при авторизации

MessageBox.Show("Вы ошиблись при авторизации");

}
}


}

. . .


}

Похожие:

Использование web-сервисов xml в клиентских приложениях iconИспользование сервисов web 0 в образовательном процессе
Большой популярностью среди молодых людей пользуются сервисы Web 0, которые активно развиваются последние несколько лет. В статье...
Использование web-сервисов xml в клиентских приложениях iconИспользование раскрашенных сетей петри для верификации web-сервисов
В этом же заключается и главный его недостаток: wdsl предназначен для описания web-сервисов, но не описания взаимодействия между...
Использование web-сервисов xml в клиентских приложениях iconWeb-сервис xml
Обычно web-сервис представляет собой класс с некоторым количеством свойств и методов, которые, несмотря на стандартный синтаксис...
Использование web-сервисов xml в клиентских приложениях iconСвободная лицензия на использование xml схем компании «Эскорт»
Разрешается модификация xml схем в виде прямой модификации исходных файлов. Разрешается создание собственных xml схем используя включение...
Использование web-сервисов xml в клиентских приложениях iconСправочник Web-мастера xml санкт-Петербург Изд-во "бхв-петербург"
Интернете и wap-ресурсах. Описание сопровождается большим количеством примеров. Дополнительно включены официальное спецификации xml,...
Использование web-сервисов xml в клиентских приложениях iconДистанционные курсы «Сервисы We 0 в деятельности учителя»
Понятие web 0, основные признаки и особенности. Многообразие социальных сервисов и их использование в педагогической практике
Использование web-сервисов xml в клиентских приложениях iconЛабораторная работа №4 Использование xml и среды Axis2 для создания клиент-сервисного взаимодействия
Служебная информация документа xml заключается в теги. Первый тег описывает версию xml
Использование web-сервисов xml в клиентских приложениях iconЛабораторная работа №4 Создание Web сервисов xml на базе asp. Net 0 цель и задачи работы
Они пригодны для развертывания и в Интернете, где они облегчают доступ к ресурсам организации, и в интрасетях для интеграции корпоративного...
Использование web-сервисов xml в клиентских приложениях iconСервер Web-приложений sap возможности и функции
Сервер Web-приложений sap предлагает открытую и надежную инфраструктуру для развертывания широко масштабируемых Web-приложений и...
Использование web-сервисов xml в клиентских приложениях iconВведение в xml-rpc
В настоящее время технологии soap пытаются придать статус W3C-стандарта для web-сервисов, и если учесть, что этому процессу помогают...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org