谁能给小弟写一个apache2下的 webservice的例子?调试通过就给给分,多少分都行!! ( 积分: 200 )

  • 主题发起人 主题发起人 w_anghe
  • 开始时间 开始时间
W

w_anghe

Unregistered / Unconfirmed
GUEST, unregistred user!
谁能给小弟写一个apache2下的 webservice的例子?调试通过就给给分,多少分都行!!
最好是delphi下的:)
 
谁能给小弟写一个apache2下的 webservice的例子?调试通过就给给分,多少分都行!!
最好是delphi下的:)
 
服务端:
1.New|WebServices|Soap Server Application ,如下图:

这次我们用 Web App Debugger (详见《DELPHI 6 抢先研究 -- Web 应用开发及调试》),设置其 CoClass Name 为 wadSoapDemo3 , 如下图:

2.SaveAll , Unit2 命名为: SvrWMMain , Unit1 不改名, Project1 命名为: Demo3 ;
3.New|WebServices|Soap Server Data Module ,如下图:

在弹出的对话框中输入 Class Name 为 SoapDemo3DM ,如下图:

确定后将此单元保存为 SvrDMSoap ;
4.在 SoapDemo3DM 中放入三个控件: SQLConnection1, SQLDataSet1, DataSetProvider1 ,如下图:

其属性设置为:
SQLConnection1 ConnectionName := IBLocal;
LoginPrompt := false;
Params.Values['Database'] := '[...]/Examples/Database/Employee.gdb';
// 上面的 [...] 为你的 InterBase 安装路径
SQLDataSet1 SQLConnection := SQLConnection1;
CommandText := 'select EMP_NO, FULL_NAME, PHONE_EXT from EMPLOYEE';

DataSetProvider1 DataSet := SQLDataSet1;

5.服务端就这样完成了,不用写一行代码,编译并运行,然后退出即完成 Web App Debugger 应用的注册。
启动 Web App Debugger ,再启动浏览器,在地址栏输入: http://localhost:1024/Demo3.wadSoapDemo3/wsdl 即可看到三个接口:
Port Type Namespace URIdo
cumentation WSDL
IWSDLPublish urn:WSDLPub-IWSDLPublish WSDL for IWSDLPublish
IAppServer urn:Midas-IAppServer WSDL for IAppServer
ISoapDemo3DM urn:SvrDMSoap-ISoapDemo3DM WSDL for ISoapDemo3DM
这其中除了有 DataModule 的接口 ISoapDemo3DM 以外,最重要的是多了一个 IAppServer 接口,只要有这个接口,就有 Midas/DataSnap 。
接下来做客户端:
1.New|Application 新建一个一般 VCL 应用程序;
2.SaveAll , Unit1 命名为 ClnMain , Project1 命名为 Client ;
3.在 Form1 上放上 SoapConnection1(在 WebService 页中的最后一个), ClientDataSet1, DataSource1, DBNavigator1, Button1, DBGrid1 等控件,如下图:

设置各自的属性如下表,如果设置正确的话,应该如上图那样在 DBGrid1 中显示出数据来:
SoapConnection1 URL := 'http://localhost:1024/demo3.wadsoapdemo3/soap';

ClientDataSet1 RemoteServer := SoapConnection1;
ProviderName := 'DataSetProvider1';
Active := true;
DataSource1 DataSet := ClientDataSet1;
DBNavigator1 DataSource := DataSource1;
DBGrid1 DataSource := DataSource1;
Button1 Caption := 'Apply';

4.双击 Button1 输入下面的程序:
procedure TForm2.Button1Click(Sender: TObject);
begin
ClientDataSet1.ApplyUpdates( -1 );
end;

5.至此,客户端程序也完成了,编译并运行(确定 Web App Debugger 已运行),可以看到服务端运行一会儿,它的窗体闪现几秒钟后客户端程序即可取得数据并显示出来。现在可以通过 DBNavigate/DBGrid 对数据进行操作,操作完成后按 Apply 按钮即可将数据修改提交到服务端,此操作会运行服务端程序。
就这样,我们只写了一行程序就完成了一个基于 SOAP 的多层数据库应用。
 
刘艺的《Delphi6企业级解决方案及应用剖析》中有比较详细的例子,我自己以前也做过一个简单的Demo,现在不知道放哪里去了。apache的安装和设置有点麻烦,其他的可以按书上写的一步一步来就OK了
 
w_anghe您好
我现在有一个问题,就是用TWebBrowser显示一个word文件的内容,要求是只读的。我在论坛上看到您在这方面的贴子,知道您已经解决了这个问题。希望赐教
emial:qinghh2002@yahoo.com.cn
谢谢!!
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
905
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部