Delphi编写soap服务器与客户端程序
来源:互联网 发布:淘宝企业店铺有假的吗 编辑:程序博客网 时间:2024/04/26 21:47
Delphi编写soap服务器与客户端程序
使用三层结构开发客户机、服务器软件已成为c/s系统中的主流;下面是自己在开发系统中的一些体会;本文已delphi7(windows)或kylix3(linux9)为环境描述:
1、编写服务器程序
首先,看看soap服务器的建立,在delphi7中的新建栏目中,选择“ WebServices”如下图,选择“Soap Server Application”
点击“ok”,开始选择创建服务程序的类型:
ISAPI/NSAPI Dynamic Link Library –将生成一个.dll文件,可以用IIS来进行发布;
CGI Stand-alone executable 将生成一个CGI程序;注意:CGI程序一般比较占用内存
Apache 1.x;Apache 2.x 可以用Apache来发布;可以实现在不同平台上用行;
Web App Debugger executable 用webappdbg.exe运行的一个方便调试的程序;
我们这里选取Web App Debugger executable ;主要是方便进行调试,但作为项目运行最好选取IIS(把编译好的程序dll放在发布目录下;在iis主目录配置选项下选取“脚本和可执行程序”,在浏览器输入相应的地址即可)或Apache来作为soap服务器的载体。
接下来会提示是否创建soap module ;我在这里选取了“是”;服务端程序的编写需注意对客户端并发访问的处理。
将会生成:
myTestIntf.pas接口定义文件内容:
unit myTestIntf;
interface
uses InvokeRegistry, Types, XSBuiltIns;
type
ImyTest = interface(IInvokable)
['{FA05E275-DF
function Login(name:string;pwd:string):boolean;stdcall; //需要发布的方法
end;
implementation
initialization
InvRegistry.RegisterInterface(TypeInfo(ImyTest));
end.
myTestImpl.pas接口实现文件内容:
unit myTestImpl;
interface
uses InvokeRegistry, Types, XSBuiltIns, myTestIntf;
type
TmyTest = class(TInvokableClass, ImyTest)
public
function Login(name:string;pwd:string):boolean;stdcall;
end;
implementation
{ TmyTest }
function TmyTest.Login(name, pwd: string): boolean; //自己定义的方法的实现代码
begin
if ((name='1') and (pwd='abc')) then
result:=true
else
result:=false;
end;
initialization
InvRegistry.RegisterInvokableClass(TmyTest);
end.
用delphi7带的webappdbg或iis启动发
(1) 用webappdbg做发布,点击delfault url 即可看到发布的接口;
(2) 用iis做发布,在浏览器中输入“http://localhost/a/Project1.dll”发布的地址;
2、导出soap接口的xml文档
点击浏览器中的“ImyTest”,把文件另存“ImyTest.xml”即可。
3、客户端程序的编写
首先,在下图中把上面导出的xml文件导入到你所用的客户端程序;
(1)如果服务端的接口是一个方法:在客户端放入THTTPRIO控件,选取其中wsdl
的文件地址或URL即可;在代码中调用接口的列子如下:
if (HTTPRIO1 as ImyTest).Login('1','abc') then
showmessage('true')
else
showmessage('false');
(2)如果服务端的接口是一个数据模块:在客户端放入TSoapConnection控件;设置它的URL即可;然后可以放置其他的数据控件(TClientDataSet)来在RemoteServer选项,选择上面的TSoapConnection;其他的数据操作与普通的数据控件操作相同。
- Delphi编写soap服务器与客户端程序
- Delphi编写soap服务器与客户端程序
- Delphi编写soap服务器与客户端程序
- 基于soap协议和webservice的客户端与服务器通信
- daytime服务器与客户端(程序)
- 客户端与服务器程序通信
- (1) 编写服务器与客户端
- 【源码】c#编写的安卓客户端与Windows服务器程序进行网络通信
- 【源码】c#编写的安卓客户端与Windows服务器程序进行网络通信
- 【源码】c#编写的安卓客户端与Windows服务器程序进行网络通信
- 基于SOAP编写WebService客户端(一)
- 用消息队列编写一个客户端服务器通信的程序
- cfree引用socket库编写服务器客户端程序
- delphi编写系统托盘程序
- Delphi 服务程序编写
- delphi(客户端) socket 与 PHP_socket(服务器) 通信的例子
- 编写服务器和客户端
- php中soap使用,SoapServer服务端编写,SoapClient客户端编写
- 面朝大海,春暖花开--曼陀山庄之段誉[zz]
- Python相关模块学习1 处理文件名模块glob
- Delphi编写组件封装asp代码的基本步骤(Asp组件系列)
- 常用技术文章
- 各种媒体在线播放代码
- Delphi编写soap服务器与客户端程序
- STRUTS
- Mandarax的改进方向(From mandarax maillist)
- Eclipse+JBoss+MySQL开发环境设置
- 经典Oracle图书推荐-之三
- MYSQL WIN2003无法启动或找不到路径的
- VC快捷键
- 一个介绍Eclipse插件的地方,虽然不多,但是都是我们急需的插件。
- 用sqlplus只输出数据到文本文件的实例