我正在使用gSOAP从C代码创建web服务,遵循this website。我使用这些命令:
soapcpp2 -c -SL -wx calc.h
bin/apxs -a -c calcserver.c soapC.c soapServer.c stdsoap2.c
chmod 755 .libs/calcserver.so
前两个命令成功执行并生成这些文件:
calcserver.o
calcserver.lo
calcserver.slo
calcserver.a
但是文件calcserver.so
似乎没有生成。
.so
文件没有生成的原因是什么?.so
文件?calcserver.so
文件放在当前目录下的.libs
目录中。 .libs
目录应包含calcserver.so
和其他文件:
calcserver.a
calcserver.la
calcserver.lai
calcserver.o
calcserver.so
soapC.o
soapServer.o
stdsoap2.o
要部署Apache模块,请编辑httpd.conf
(通常位于1 / private / etc / apache2 / httpd.confor if you locally installed
httpdin
/ home / username / apachegsoapthen you will find it in
/ home / username / apachegsoap / conf`)并添加以下条目:
<IfModule mod_gsoap.c>
<Location /soap>
SetHandler gsoap_handler
SOAPLibrary /home/username/apachegsoap/.libs/calcserver.so
Order allow,deny
Allow from all
</Location>
</IfModule>
其中/home/username/apachegsoap
应修改为.libs
目录的路径。
有关详细信息,请参阅https://www.genivia.com/doc/apache/html/index.html上的官方gSOAP Apache模块文档