Delphi创建WebService部署到Apache

 从Apache官网下载httpd2.2版本,安装。网上说安装后把安装目录保留了,就是现成的绿色版,需要在其他机器上使用,直接执行批处理:bin\httpd -k install,就可以。安装后,自动启动httpd,在桌面右下角的启动栏中,有个httpd的图标,可点击这个图标重启、停止服务。

  启动DelphiXE7,创建新项目,项目类型选择WebServices-->SOAP Server Application-->ISAPI dynamic linklibrary-->后面的步骤一路确定,填写服务名称,勾选上创建范例方法。创建ISAPI成功,添加自己的接口方法并实现后,编译出dll,拷贝到D:\ws目录。

  打开Apache安装目录,在conf目录中找到httpd.conf.

在#AddHandler type-map var后面添加 AddHandler isapi-isa .dll (注意.dll前面有个空格)

在httpd.conf最后面添加自己的isapi库配置:

Alias /ws "D:/ws"                                 #Alias语法 Alias /URL二级域名 "制定isapi库目录"

<Directory "D:/ws">                            #配置isapi目录的权限

Options ExecCGI                               #必须设置 否则无权限访问目录中的动态库

Allow from all

</Directory>

ISAPICacheFile D:\ws\Project1.dll #让动态库预先加载,只是为提高效率

至此,配置完毕,在IE浏览器中输入 http://localhost/ws/Project1.dll,将看到熟悉的wsdl。现在可以让任意语言调用我们的webservice了。

 

RO服务端部署到Apache:

 

安装好RO后,创建新Delphi项目,选择RemObjects SDK中的ISAPI/NSAPI Server模板,启动向导创建ISAPI服务端和exe客户端。实现自动生成的接口后,编译得到服务端dll和客户端exe。

将服务端dll部署到Apache中:

打开httpd.conf文件,在上面所述配置的基础上,添加如下设置:

 

Alias /ro "D:/RO_ISAPI"

<Directory "D:/RO_ISAPI">

Options ExecCGI

Allow from all

</Directory>

ISAPICacheFile D:/RO_ISAPI/ROServer.dll

保存配置文件,重启Apache服务后,在IE浏览器中输入 http://127.0.0.1/ro/ROServer.dll

可以看到生成的rodl接口。

修改客户端ROChannel控件的TargetURL为http://127.0.0.1/ro/ROServer.dll/Bin

启动客户端测试,成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值