操作步骤如下:
1、在VS.2003下编写WebServices,代码如下:
{用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中写入代码如下:
设置HTTPRIO1的属性
WSDLLocation为http://localhost/WebService1/Service1.asmx?WSDL
Port为Service1Soap
Service为Service1
同时在AfterExecute事件写入以下代码
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