您的位置:首页 > 运维架构 > Apache

mod_gsoap(gsoap与Apache服务器的集成)

2015-07-14 16:54 696 查看
利用gsoap很容易的产生出服务端与客户端的代码,下面详细描述将服务端的代码集成到apache的步骤。



本文采用的工具是vs2012,示例代码来源于:gsoap-2.8\gsoap\samples\calc

$ soapcpp2 -c calc.h

通过上面的命令就能产生客户端与服务端的代码(用不到*.xml文件可以删掉,如下图所示)。




说明:

1.gsoap的标准函数stdsoap2.h和stdsoap2.c需要额外从gsoap的根目录下拷贝;

2.soapClientLib.c和soapserverLib.c虽然用不到,建议保留着。



1、用vs2012导入gsoap-2.8\gsoap\mod_gsoap\mod_gsoap-0.6\apache_20\mod_gsoap工程,编译出mod_gsoap.so模块。

如下图所示:







2、在mod_gsoap模块所需的配置文件(本文是mod_gsoap.conf)末尾添加如下设置

LoadModule gsoap_module modules/mod_gsoap.so

<IfModule mod_gsoap.c>

<Location /soap>

SetHandler gsoap_handler

SOAPLibrary D://Apache24//Win32_Debug//ex_modules//gsoapDLL.so

Order allow,deny

Allow from all

</Location>

</IfModule>

3、在上面的第二步中,配置参数SOAPLibrary 用到了gsoapDLL.so,这一步的目的就是编译该动态库。







这一步中务必保证apache_init_soap_interface为导出函数,只有这样在mod_gsoap.so模块中才能调用。其他的五个用户自定义函数(ns__add、ns__sub、ns__mul、ns__div、ns__pow)无需为导出函数。

4、建立客户端工程发送请求






说明:

1.将calc.wsdl文件放到gsoapDLL.so所在目录下,并将其改名为gsoapDLL.wsdl。这样通过浏览器访问http://localhost/soap?wsdl时就能返回到浏览器上。

2.本文的word文档详见:http://download.csdn.net/detail/sszgg2006/8899077



本方案主要参考gsoap官网自带的Demo,位于gsoap-2.8\gsoap\mod_gsoap\mod_gsoap-0.6\apache_20\README.txt.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: