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...