- 论坛徽章:
- 0
|
上http://www.cs.fsu.edu/~engelen/soap.html可以看一些文档
http://gsoap2.sourceforge.net/可以下载相应软件的TAR包,由于我这里以前下了一个,也没去看了,就用现成的吧。
[root@logser ~]# ls gsoap
gsoap-2.7/ gsoap_2.7.13.tar
[root@logser ~]#
依照README文件,需要安装一些软件包
[root@logser gsoap-2.7]# uname -a
Linux logser.monitor.com 2.6.9-22.EL #1 Mon Sep 19 18:20:28 EDT 2005 i686 i686 i386 GNU/Linux
[root@logser gsoap-2.7]#
我这是REDHAT AS4的LINUX,找到安装介质,装上如下RPM包即可。
[root@logser gsoap-2.7]# rpm -qa |grep bison
bison-1.875c-2
[root@logser gsoap-2.7]#
[root@logser gsoap-2.7]# rpm -qa |grep flex
flex-2.5.4a-33
[root@logser gsoap-2.7]#
[root@logser gsoap-2.7]# rpm -qa |grep yacc
byacc-1.9-28
[root@logser gsoap-2.7]#
由于系统上带的AUTOMAKE版本比较多,在生成makefile后建议看一下,如果版本不对的话,MAKE时会出错,
[root@logser gsoap-2.7]# rpm -qa |grep automake
automake16-1.6.3-5
[root@logser gsoap-2.7]#
下面是我的Makefile中的一段,有相关软件的版本。
ACLOCAL = ${SHELL} /root/gsoap-2.7/missing --run aclocal-1.6
AUTOCONF = ${SHELL} /root/gsoap-2.7/missing --run autoconf
AUTOMAKE = ${SHELL} /root/gsoap-2.7/missing --run automake-1.6
AUTOHEADER = ${SHELL} /root/gsoap-2.7/missing --run autoheader
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = /usr/bin/install -c
INSTALL_PROGRAM = ${INSTALL}
INSTALL_DATA = ${INSTALL} -m 644
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = ${INSTALL}
INSTALL_HEADER = $(INSTALL_DATA)
transform = s,x,x,
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
[root@logser gsoap-2.7]# more Makefile
然后按照文档的说明,
执行make, make install即可以将gsoap的执行文件wsdl2h和soapcpp2放到/usr/local/bin下面
[root@logser gsoap-2.7]# cd /usr/local/bin/
[root@logser bin]# ls
dig isc-config.sh make_class nsupdate peardev php php-config soapcpp2
host libol-config nslookup pear pecl php-cgi phpize wsdl2h
[root@logser bin]#
进入源码包示例目录,可以编辑示例测试
[root@logser samples]# pwd
/root/gsoap-2.7/gsoap/samples
[root@logser samples]#
按照文档提示对calc 例子测试,编辑的时候可以使用Makefile直接生成server 和client端程序。
我这边没有用WEB CGI测试,需要改动calcclient.c文件中内容:
#include "soapH.h"
#include "calc.nsmap"
const char server[] = "http://127.0.0.1:1234";
后面的端口在启动SERVER端时作为参数带上。
[root@logser calc]# ./calcserver 1234
Socket connection successful: master socket = 3
Socket connection successful: slave socket = 4
在另一个终端使用客户端测试
[root@logser calc]# ./calcclient add 4 6
result = 10
[root@logser calc]#
[root@logser calc]# ./calcclient sub 10 5
result = 5
[root@logser calc]#
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/18055/showart_2020095.html |
|