compile the mod_gsoap of apache2 for win32

王朝system·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

mod_gsoap 修改过程

1. 使用.Net 2003通过原有的mod_gsoap.vcproj生成*.sln

2. 使用vc726将.vcproj转换成.dsp

3. 下载apache httpd win source package

4. 解压后,将mod_gsoap的文件拷入到modules\gsoap中

5. 向apache.dsw中添加mod_gsoap.dsp

6. 修改apache中的相关项目,去掉Generate debug info

7. **根据相似的其他mod修改mod_gsoap工程,要仔细检查所有项

8. 添加依赖工程libapr, libaprutil, libhttpd

9. 修改gsoap_handler中的一个错处:C,因此要在函数开始时声明变量。

10.向BuildBin中添加所有的mod_*

12.修改os\win32\BaseAddr.ref添加

+ mod_gsoap.so 0x6FFA0000 0x00010000

libhttpd.dll 0x6FF00000 0x000A0000

13.mod_deflate下载zlib到srclib\zlib并根据zlib中的工程修改mod_deflate中的zlib包含的文件,mod_deflate.dep改名字,新建一个空的mod_deflate.dep

14.下载http://sourceforge.net/nasm,根据ssl中的指示编译ssl

15.下载http://sourceforge.net/gnuwin中的bison, flex and gawk

16.修改mod_gsoap.c中的frecv

+ nRet = ap_get_client_block(r, pBuf, len > r->remaining ? (apr_size_t)r->remaining : len);

- nRet = ap_get_client_block(r, pBuf, len > r->remaining ? r->remaining : len);

17.配置http.conf

LoadModule gsoap_module modules/mod_gsoap.so

<IfModule mod_gsoap.c>

<Location /soap>

SetHandler gsoap-handler

SOAPLibrary gsoap\calc.dll

</Location>

</IfModule>

18.注意:for apache2的mod_gsoap,当直接使用浏览器时,会发生404错误,并且不像for apache1的那样提示相关信息。

因此要想测试,可以直接使用程序发送POST消息。如使用下面的python程序

import httplib, urllib, mimetools, time

body = """<?xml version="1.0" encoding="UTF-8"?>

<SOAP-ENV:Envelope

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:ns="calc">

<SOAP-ENV:Body id="_0">

<add xmlns="calc">

<a>10</a>

<b>20</b>

</add>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

"""

headers = {"Content-type": "text/xml:"}

conn = httplib.HTTPConnection("WY", "8000")

conn.request("POST", "/soap", body, headers)

response = conn.getresponse()

print response.status, response.reason

print response.msg

data = response.read()

print data

conn.close()

如果你不想自己编译,在

http://gsoapwzd.cosoft.org.cn/gsoapwzd/mod_gsoap/mod_gsoap.so

http://gsoapwzd.cosoft.org.cn/gsoapwzd/mod_gsoap/mod_calc.dll

http://gsoapwzd.cosoft.org.cn/gsoapwzd/mod_gsoap/add 2 httpd.conf

http://gsoapwzd.cosoft.org.cn/gsoapwzd/mod_gsoap/calc.h

下载。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航