做了一个简单的实验,测试
gsoap C++ client
端软件与
AXIS
服务端兼容性。
实验步骤如下:
第一步:用
AXIS
部署简单的
web service
1.
编写
JAVA
类
Hello.jws
public class Hello{
public String hello(String name){
if(name==null)
name = "";
return "Welcome "+name+"to Beijing!";
}
}
2.
拷贝到
AXIS
应用目录
C:/Tomcat/webapps/axis
第二步:用
gsoap
工具生成
client
软件
1.
生成
.h
文件
>wsdl2h –o Hello.h
http://localhost:8080/axis/Hello.jws?wsdl
2.
生成
cpp
类
>soap2cpp –C Hello.h
生成多个文件,
clientSoap.cpp
中有客户软件调用的方法。
[Note]:
若找不到
stlvector.h
,可直接拷贝至当前目录
第三步:编写客户端代码
1.
写
helloClient.cpp
代码。
[
注
]:
其他应用,稍作修改就可以用
2.
编译
我没写
makefile
文件,直接调用附件
make.sh
执行的,可以把它修改后加到
Makefile
中。
第四步:测试应用
1
.运行
”helloClient”
,输出:
Welcome Jason to Beijing
附(make.sh文件):
g++ -DHAVE_CONFIG_H -I. -I. -I../gsoap-2.7 -I../gsoap-2.7/soapcpp2 -DLINUX -g -O2 -c -o soapClient.o `test -f 'soapClient.cpp' || echo './'`soapClient.cpp
g++ -DHAVE_CONFIG_H -I. -I. -I../gsoap-2.7 -I../gsoap-2.7/soapcpp2 -DLINUX -g -O2 -c -o soapC.o `test -f 'soapC.cpp' || echo './'`soapC.cpp
g++ -DHAVE_CONFIG_H -I. -I. -I../gsoap-2.7 -I../gsoap-2.7/soapcpp2 -DLINUX -g -O2 -c -o helloClient.o `test -f 'helloClient.cpp' || echo './'`helloClient.cpp
g++ -DWITH_OPENSSL -DLINUX -g -O2 -o helloClient helloClient.o soapC.o soapClient.o -lgsoap++ -lcrypto