gSoap工具wsdl2h及soapcpp2指令汇总

来源:互联网 发布:mac版wifi共享软件 编辑:程序博客网 时间:2024/06/07 18:06

CreateH_DOC.bat

@echo off
SET GSOAP=%WORK_PATH%\Misc\gsoap-2.8
"%GSOAP%\gsoap\bin\win32\wsdl2h.exe"  -I "%GSOAP%\gsoap" -o YuSC0.h -m -n ys0- YuSC_UnitTest.wsdl
"%GSOAP%\gsoap\bin\win32\wsdl2h.exe"  -I "%GSOAP%\gsoap" -o YuSC1.h -m -n ys1- YuSC_DOC_old.wsdl
"%GSOAP%\gsoap\bin\win32\wsdl2h.exe"  -I "%GSOAP%\gsoap" -o YuSC2.h -m -n ys2- YuSC_DOC_20120808.wsdl
"%GSOAP%\gsoap\bin\win32\wsdl2h.exe"  -I "%GSOAP%\gsoap" -o YuSC3.h -m -n ys3- YuSC_Storage_20120827.wsdl
pause


CreateWS.bat

@echo off
SET GSOAP=%WORK_PATH%\Misc\gsoap-2.8
"%GSOAP%\gsoap\bin\win32\soapcpp2.exe" -2wxLe -I "%GSOAP%\gsoap\import" -p yusc YuSC.h
pause




 gSoap开发包的下载地址http://sourceforge.net/projects/gsoap2,在bin目录下提供了两个工具:

  1:wsdl2h:The gSOAP wsdl2h tool imports one or more WSDLs and XML schemas and generates a gSOAP header le with familiar C/C++ syntax to de fine the Web service operations and the C/C++ data types.利用WSDL和XML schemas生成包含WS属性和操作的C++风格gSoap头文件。

  2:The gSOAP soapcpp2 compiler then takes this header fi le and generates XML serializers for the data types (soapH.h and soapC.cpp), the client-side stubs (soapClient.cpp), and server-side skeletons (soapServer.cpp).编译头文件并生成xml等文件。其中,soapH.h and soapC.cpp包含了数据类型的描述,soapClient.cpp给客户端使用,soapServer.cpp给服务端使用。

  通过官方给出的介绍可知,wsdl2h用作wsdl和.h文件的转换。soapcpp2用头文件生成客户端/服务端等开发需要的h和cpp文件。下面是官方给出的一个例子:

wsdl2h -o calc.h http://www.genivia.com/calc.wsdlsoapcpp2 -i -C calc.h

 

  我下载是gSoap2.8.14,经过整理文档,wsdl2h和soapcpp的可选指令如下:

  1:wsdl2h指令汇总

  经常使用的一些指令如下:

  -o filename.h   将wsdl转化为filename.h头文件。

  -s         不生成STL代码

  -c         生成纯C风格的头文件,这将去除C++的一些特性

  -n  name      使用name代替默认前缀ns

  -t filename.dat  使用filename.dat代替默认的typemap.dat文件

  -zX        兼容之前的X版本

  2:soapcpp2

  经常使用的一些指令如下:

  -i     生成server的proxy和object,这种object继承于soap struct。

  -j     和-i类似,区别在于生成的代理类不继承于soap struct,而是包含了包含了一个soap结构的指针。此种方式生存的代理类便于互相通信

  -C    仅生成客户端client代码

  -S    仅生成服务端server代码

  -x    不生成xml文件。不用此项的话,将对头文件中定义的每个operation生成一个描述性的xml文件

  -L    不生成soapClientLib文件和soapServerLib文件

  -p name  修改文件名前缀,代替soap

  -q name  指定代理类和对象使用的名空间name,包含文件名前缀

  3:soapcpp2生成的各文件释义

阅读全文
0 0
原创粉丝点击