张志峰的博客

水滴石川,积少成多。

导航

Delphi7快速调用C#做的web services (转)

Posted on 2013-05-24 13:38  ╰★张志峰★╮  阅读(647)  评论(0编辑  收藏  举报

 

Delphi7快速调用C#做的web services

494人阅读 评论(1) 收藏 举报

怎么实现不同平台之间的webservice?下面是我用Delphi7调用C#做的web services的过程:
(1),在vs2005新建asp.net web服务,系统自动生成一个返回字符串("helloworld")的服务。
(2)打开delphi7,新建一个工程,保存,再打开File||New||Other||Webservices||WSDLImporter,按照步骤新建一个Service,保存。注意添加服务时后加?wsdl:如图:


(3)在Unit1.pas的uses里添加服务名(如:Service),form1上添加button,text.box,和(web services),设置该控件属性,如图:

(4)写button单击事件,代码如下:

procedure TForm1.Button1Click(Sender: TObject);
var
a:ServiceSoap;
begin
 a:
=HTTPRIO1 as
 ServiceSoap;
 edit1.Text:
=
a.HelloWorld;
end;

(5)现在可以运行看到text.box里出现服务返回的字符串了 。
 
////////////如有问题添加最后一行
InvRegistry.RegisterInterface(TypeInfo(ServiceSoap), 
'http://tempuri.org/''utf-8');
  InvRegistry.RegisterInvokableClass(ServiceSoapImpl);
  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(ServiceSoap), 
'http://tempuri.org/HelloWorld');
  InvRegistry.RegisterInvokeOptions(TypeInfo(ServiceSoap), ioDocument);
//就是这一行