C C 利用gsoap庫呼叫WebService

2021-09-03 02:40:22 字數 1885 閱讀 9888

c/c++呼叫webservice需要用到soap庫,一般使用的有gsoap和axis cpp兩種實現,這裡使用gsoap來呼叫。gsoap可以在 linxu、windows、mac多種平台上使用。

gsoap的主頁位址是

新建乙個webservice:

//寫乙個簡單的方法

[webmethod(description="返回字串")]

public string helloworld(string str)

gsoap使用步驟:1、解壓gsoap 在windows下使用解壓下的\gsoap-2.8\gsoap\bin\win32下的wsdl2h.exe和soapcpp2.exe工具。

2、用wsdl2h根據webservice生成.h檔案,wsdl2h [opt] 頭檔名 wsdl檔名或url

wsdl2h常用選項:

-o 檔名,指定輸出標頭檔案

-n 名空間字首 代替預設的ns

-c 產生純c**,否則是c++**

-s 不要使用stl**

-t 檔名,指定type map檔案,預設為typemap.dat

-e 禁止為enum成員加上名空間字首 type map檔案用於指定

3、利用wsdl2h.exe生成.h檔案

生成成功後會多出乙個userinfo.h檔案

4、利用soapcpp2.exe生成**函式

生成的前提:把gsoap\import目錄下的檔案拷貝乙份放在soapcpp2.exe的同乙個目錄,否則生成不成功

5、生成後會多出很多檔案(純c**檔案)

第三步,就是在vc中建個工程,設定如下:

1、新建乙個c++專案

2、在gsoap目錄下拷貝stdsoap2.c、stdsoap2.h到新建的c++專案檔案下,再把gsoap\bin\win32目錄生成好的soapc.c、soapclient.c、soaph.h、soapstub.h、targetver.h、userinfosoap.nsmap拷貝到新建的c++專案檔案下

3、新建好c++工程後,新增所有拷貝到新建的c++專案檔案下的所有檔案

4、新建乙個主入口的c檔案,尅把自動生成的cpp main檔案刪除,然後寫入**

#include#include"userinfosoap.nsmap"

#include"soapstub.h"

int main()

else

soap_destroy(&userinfosoap);

soap_end(&userinfosoap);

soap_done(&userinfosoap);

getchar();

return 0;

}

5、注意點:helloworld.str就是介面方法的傳入引數

C 利用gSoap呼叫WebService服務

最近要利用c 呼叫webservice介面,中間工具是gsoap,ide vs2010,webservice介面 關於soap,它是一種簡單物件訪問協議,是一種輕量的 簡單的 基於 xml 的協議,它被設計成在 web 上交換結構化的和固化的資訊。它是一種通訊協議,用於web應用程式之間的網際網路通...

利用swig實現python呼叫C C 的方法

python是一門語法簡單而且清晰的指令碼語言,不過執行效率比較低。簡單的說就是開發相對c c 容易,但是執行效率不如c c 甚至有人稱之為執行效率最低的魚眼。如果可以將最重要的而且變化一般不大的運算邏輯用 c c 實現,其他用python書寫,那就最好不過了。據說python底層就是用c實現的,因...

C C 庫建立和呼叫總結 一

c 呼叫c 庫 1.工程結構為 lib testdriver 2.c 的lib庫工程中 hello.cpp 中 ifndef cplusplus define cplusplus include hello.h endif void hello hello.h中 中加入 ifndef hello h...