操作步骤如下:
1、在VS.2003下编写WebServices,代码如下:
1 [WebMethod]
2 public string HelloWorld()
3 {
4 return "Hello World";
5 }
6
7 [WebMethod]
8 public DataSet GetBook()
9 {
10 sqlDataAdapter1.Fill(dsBook);
11 return dsBook;
12 }
{用C#开发web services的时候,如果你这样写 sqlDataAdapter1.Fill(ds,'tablename');}那么你是看不到上面橙色筐中的字段的。千万不要表明数据集中表名。你这样写就可以了,sqlDataAdapter1.Fill(ds);就能显示字段了!
2、新建一个Delphi7项目,分别加入TButton,THTTPRIO,TXMLTransformProvider,TClientDataSet,TDataSource,TDBGrid
3、在Delphi7中导入WebService
首选,选择File/New/Other/选择WebService/选择WSDL IMPORTER
4、这样在Unit1单元中引用WSDL单元,并在Button1的OnClick中写入代码如下:
1 procedure TForm1.Button1Click(Sender: TObject);
2 var
3 test:Service1Soap;//这个就是WSDL下的类接口对象
4 msg:widestring;
5 begin
6 //HTTPRIO1 其实就是所谓的代理类,它负责进行数据传输发送Request和接受Response的
7 test:=HTTPRIO1 as Service1Soap;
8
9 msg:=test.HelloWorld;//这就是调用web服务所暴露给我们的web服务方法WebMethod
10 showmessage(msg);
11 test.GetBook;
12 end;
13
设置HTTPRIO1的属性
WSDLLocation为http://localhost/WebService1/Service1.asmx?WSDL
Port为Service1Soap
Service为Service1
同时在AfterExecute事件写入以下代码
1 procedure TForm1.HTTPRIO1AfterExecute(const MethodName: String;
2 SOAPResponse: TStream);
3 var
4 XMLDoc: IXMLDocument;
5 begin
6 SOAPResponse.Position := 0;
7 ClientDataset1.Active := FALSE;
8 SOAPResponse.Position := 0;
9 XMLDoc := NewXMLDocument;
10 XMLDoc.Encoding := 'SUTF8'; //应该是'SUTF8'并需要引用XMLIntf,XMLDoc两个单元
11 SOAPResponse.Position := 0;
12 XMLDoc.LoadFromStream(SOAPResponse);
13 XMLDoc.SaveToFile('c:\abc.xml'); //可用这个文件做格式
14 XMLTransformProvider1.TransformRead.SourceXmlDocument := XMLDoc.GetDOMDocument;
15 ClientDataset1.Active := TRUE;
16 end;
17
5、运行程序,产生C:\abc.xml文件,打开Toole/XMLMapper;打开abc.xml;选中'Sys_books',按右键,选择Select All Children,再选择Create Datapacket from XML(或按Ctrl+D),再点击Create and Test Transformation(Ctrl+T)按钮,最后右建中间框,选择Save Transformation(Ctrl+S),保存为C:\ToDp.xtr
打开C:\ToDp.xtr文件
将<SelectEach dest="DATAPACKET\ROWDATA\ROW" from="\soap:Envelope\soap:Body\GetBookResponse\GetBookResult\diffgr:diffgram\NewDataSet\Sys_books">
改为<SelectEach dest="DATAPACKET\ROWDATA\ROW" from="\Envelope\Body\GetBookResponse\GetBookResult\diffgram\NewDataSet\Sys_books">
{from后面只要是单词后面有冒号的,该单词和冒号都要去掉,delphi7才能显示数据}
6、为XMLTransformProvider1属性TransformRead\TransformationFile指定文件C:\ToDp.xtr
delphi7调用代码:/Files/ZhouXiHong/D_Client.rar
分享到:
相关推荐
delphi7数据执行保护问题PAS单元.zip 1、无需更改代码和其他公共单元 2、只需将这些文件放到对应的代码文件目录中,默认优先调用代码目录的资源 delphi7数据执行保护问题PAS单元.zip 1、无需更改代码和其他公共...
在IT行业中,网络通信是应用程序之间交互的重要方式。在Delphi编程环境中,开发人员经常需要与Web服务进行交互,这通常涉及到HTTP POST请求...理解这些概念和技术对于在Delphi中高效地与Web Services进行通信至关重要。
TMS WEB Core 2.6.1.0 Retail Setup for D11.rar delphi 12.2 TMS WEB Core 2.6.1.0 Retail Setup for D11.rar
通过仔细研究这些材料,你可以掌握如何在Delphi环境中高效地创建和使用WebServices,从而提升你的跨平台开发能力。 总的来说,这个实例提供了从Delphi开发WebServices的全面视角,涵盖了服务端和客户端的实现,有助...
Delphi12TMS WEB Core 2.6.0.0 Beta Retail Setup for D12 (September 24, 2024).rar
TMS Web Core 2.6.1.2 D12.exe
最后,通过实现Web服务接口并调用相关方法,你可以在服务端处理这些数据,并通过XML响应发送给调用者。 总结起来,"WebServices001.zip"的内容可能涉及如何使用DelphiXE3创建一个Web服务,该服务使用XML进行数据...
TMS WEB Core 2.6.0.0 Retail Setup for D12.exe
4. **Web Service的客户端调用**:阐述如何在Delphi6和Kylix2项目中添加对已有Web Service的引用,以及如何进行调用和处理返回结果。 5. **案例分析与实战**:提供实际的项目案例,如电子商务、数据交换等,帮助...
3. VCL for the Web:Delphi 7中的VCL for the Web库提供了许多专门用于Web开发的控件和组件,例如TPageControl,它可以在Web上模拟多页应用程序的行为;TWebBrowser,用于嵌入HTML浏览功能;以及THttpRIO,用于与...
Delphi6 SOAP Web Service程序设计篇
在 Delphi 中调用 Oracle 的存储过程返回数据集需要遵循一定的规则和格式,包括创建 Oracle 包和存储过程、使用 AdoConnection 和 AdoDataSet 组件连接到 Oracle 数据库、调用存储过程并返回数据集等步骤。
8. **兼容性**:适用于Delphi 5、6、7、9多个版本,意味着它具有良好的向后兼容性,可以在较旧的Delphi环境中运行。 使用这个控件,开发者可以快速构建能够与Web服务、API或其他HTTP资源交互的应用程序。例如,创建...
在Delphi 6中,开发者可以利用VCL for the Web组件库来构建Web Services,这些组件简化了Web Services的创建过程。 1. **创建Web Service项目**:首先,在Delphi 6中新建一个Web Application项目。在项目中,你可以...
例如,如果Web服务有一个名为`GetClientDataSetXML`的方法,我们可以在Delphi代码中创建该类的实例,然后调用这个方法。 3. **处理XML数据**:Web服务返回的XML数据需要解析为Delphi可操作的对象。Delphi 7中,可以...
Delphi 2010 精简版。 文件名:Embarcadero.Delphi.2010.RTM.v14.0.3615.26342.Lite.v3.8.exe
本资源"delphi7+Http读写Json数据.rar"聚焦于在Delphi 7环境下,通过HTTP协议进行数据传输,并使用SuperObject库处理JSON数据。以下是对这些知识点的详细解释: 1. **Delphi 7**:Delphi 7是Embarcadero ...
Delphi 2007 Update4 精简版 文件名:CodeGear.Delphi.2007.RTM.Inc.Update4.v11.0.2902.10471.Lite.v1.4.exe
同时,对于对象检视器(Object Inspector)的改进,也使得在使用Delphi7进行可视化设计时更加方便直观。 书籍最后提到了一些版权与出版信息,包括版权声明、出版社信息、责任编辑和封面设计等相关人员的介绍。特别...
在《实战Delphi6/Kylix2/SOAP/Web Service程序设计篇》这本书中,作者李维精心编撰了一套系统而全面的教程,针对的是Delphi6和Kylix2这两个经典的Visual Basic derivative (VBD) 编程环境,尤其是针对SOAP(Simple ...