Главная » Delphi » Обращение клиента к Web службе

0

Для обращения к Web службе необходимо знать URL  ее  документа  WSDL.  В  дан

ном случае это тот же самый URL, который использовался ранее.

Чтобы продемонстрировать указанное, было создано простое приложение с един

ственной главной формой (рис. 20.3).

Это приложение на самом деле очень  простое: пользователь вводит  в поле  темпе ратуру,  щелкает  на необходимой кнопке и пересчитанное значение отображается в поле Result. Исходный код данного приложения приведен в листинге 20.4.

 

Рис. 20.3. Главная форма приложения клиента Web службы

Листинг 20.4. Клиент Web службы

unit MainFrm;

interface uses

Windows, Messages, SysUtils, Variants, Classes, Graphics,

Controls, Forms, Dialogs, StdCtrls, Rio, SoapHTTPClient;

type

TMainForm = class(TForm)

btnFah2Cel: TButton;

btnCel2Fah: TButton;

edtArguement: TEdit;

lblTemperature: TLabel;

lblResultValue: TLabel;

lblResult: TLabel;

HTTPRIO1: THTTPRIO;

procedure btnFah2CelClick(Sender: TObject);

procedure btnCel2FahClick(Sender: TObject);

private

{ Закрытые объявления }

public

{ Открытые объявления }

end;

var

MainForm: TMainForm;

implementation

uses TempConvImport;

{$R *.dfm}

procedure TMainForm.btnFah2CelClick(Sender: TObject);

var

TempConverter: ITempConverter;

FloatVal: Double;

begin

TempConverter := HTTPRIO1 as ITempConverter;

FloatVal := TempConverter.FahrenheitToCelsius(

?StrToFloat(edtArguement.Text));

lblResultValue.Caption := FloatToStr(FloatVal);

end;

procedure TMainForm.btnCel2FahClick(Sender: TObject);

var

TempConverter: ITempConverter;

FloatVal: Double;

begin

TempConverter := HTTPRIO1 as ITempConverter;

FloatVal := TempConverter.CelsiusToFahrenheit(StrToFloat(

?edtArguement.Text));lblResultValue.Caption := FloatToStr(FloatVal);

end;

end.В главной форме размещен компонент THTTPRIO, представляющий собой  удален ный   вызываемый  объект,  выступающий в  роли   локального  посредника  для  Web службы,  которая, весьма  вероятно, находится где нибудь на удаленной  машине. Два обработчики  события  TButton содержат  код,  осуществляющий  вызов   удаленных объектов Web службы.  Обратите  внимание, что  компонент THTTPRIO необходимо привести к типу ITempConverter, это позволит осуществить обращение к его вызы ваемым методам.

Перед запуском данного кода на выполнение компонент THTTPRIO следует подго

товить, что выполняется в несколько этапов.

Источник: Тейксейра, Стив, Пачеко, Ксавье.   Borland Delphi 6. Руководство разработчика. : Пер.  с англ. — М. : Издательский дом “Вильямс”, 2002. —  1120 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии