…
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, SoapHTTPClient, Unit2, StdCtrls;
…
procedure TForm_main.Button_callClick(Sender: TObject);
var
//使用Delphi的Unit SoapHTTPClient,Delphi
X :THTTPRio;
//使用Unit_2中定义的HelloWorld Interface
InterfaceVariable: HelloWorld;
para1, para2: WideString;
begin
X := THTTPRio.Create(nil);
//设置Delphi在提出HTTP请求的时候设置Content-Type为text/xml; charset= UTF-8
X.HTTPWebNode.UseUTF8InHeader := true ;
//WSDLLocation也可以是在本地文件系统中的wsdl文件。
X.WSDLLocation := 'http://localhost:8080/HelloWorldWeb/wsdl/HelloWorld-service.wsdl';
// THTTPRio 的Service参数和Port参数对应HelloWorld-service.wsdl文件中的定义。
// <service name="HelloWorldService">
// <port name="HelloWorldPort" binding="binding:HelloWorldBinding">
// <soap:address location="http://localhost:8080/HelloWorldWeb/servlet/rpcrouter"/>
// </port>
//</service>
X.Service := 'HelloWorldService';
X.Port := 'HelloWorldPort';
InterfaceVariable := X as HelloWorld;
para1 := '中文';
//从输入文本框中获得输入参数
para1 := Edit_para1.Text;
para2 := InterfaceVariable.sayHello(para1);
//显示调用web service返回的结果
Label_return_value.Caption := 'Return Value: ' + para2;
X.free;
end;
然后再介绍你看一本书:
Delphi 7 组件与分布式应用开发
第13章 WebService应用 365
13.1 WebService组件 365
13.1.1 THTTPRIO(SoapHTTPClient)组件 366
13.1.2 THTTPReqResp(SOAPHTTPTrans)组件 368
13.1.3 TOPToSoapDomConvert(OpToSoapDOMConv)组件 370
13.1.4 TSoapConnection(SoapConn)组件 372
13.1.5 THTTPSoapDispatcher(WebBrokerSoap)组件 374
13.1.6 TWSDLHTMLPublish(WSDLPub)组件 375
13.1.7 THTTPSoapPascalInvoker(SoapHTTPPasInv)组件 377
13.2 设计服务器端的WebService应用 379
13.3 通过SOAP访问WebService 380
13.4 基于SOAP和WebService设计分布式网络程序实例 382
13.4.1 建立SoapDBServerUnit.pas 382
13.4.2 建立SoapDBClientUnit.pas 398
13.5 基于SOAP和WebService设计电子商务程序实例 400
13.5.1 服务器端 400
13.5.2 客户端 402