基於c 開發gsoap客戶端 client

2021-08-31 15:24:42 字數 1648 閱讀 1763

如何開發gsoap client

工作需要用c++做乙個webservice客戶端,開發環境為:vs 2005 學習了一下gsoap。

解壓:

在編寫客戶端之前我們必須提供webservice的伺服器端:

筆者的webservice伺服器使用axis來生成wsdl檔案

提供的方法如下:

public class hello

}wsdl檔案如下圖:

伺服器端接介紹到這 下面我們開始我們的主題 編寫客戶端:

1 編寫客戶端我們需要用到前面介紹的gsoap工具 進入解壓好的gsoap\bin\win32 該目錄下有我們需要使用soapcpp2.exe和wsdl2h.exe。

wsdl2h.exe 的使用:

用法:wsdl2h -o 頭檔名 wsdl檔名或url
wsdl2h常用選項soapcpp2.exe 的使用:

常用選項

2生成客戶端存根:

wsdl2h-ohello.h  http://localhost/webservice/hello.jws?wsdl   從wsdl得到標頭檔案

執行完這步會在當前目錄下生成hello.h標頭檔案

soapcpp2-ohello.h //根據生成的標頭檔案來生成存根

如果執行完這步會在當前目錄下生成:

soapcpp2 hello.h -i d:\gsoap_2.7.16\gsoap-2.7\gsoap\import

3 建立新專案ws4

將生成的檔案複製到你工程目錄中:其中stdsoap2.h,stdsoap2.cpp 在 gsoap目錄下 stlvector.h 在 gsoap\import目錄下

注意事項:

2. 常見錯誤示例, error c1010 ,一般是預編譯標頭檔案的問題,在主函式中需要選預編譯,新增 stdafx.h

error  lnk2001  在網路程式設計中需要wsock32.lib ,新增上即可。

error bk 1506: cannot open  file .....    取消build browse info file

複製完成如圖:

然後將其新增進專案如圖:

5程式設計客戶端

新建hello.cpp

#include "soaph.h" // 得到存根程式

#include "hellosoapbinding.nsmap"

#include

#include

#include  

#include "soapstub.h"

#include "stdsoap2.h"

using namespace std;

int main()

{struct soap clientsoap;

string s1 = "****";

string s2 = "";

soap_init(&clientsoap);

if(soap_call_ns1__hello(&clientsoap, null, null, s1, s2) == soap_ok)

{cout<6 編譯執行:

gsoap及onvif開發客戶端框架的生成(一)

2.離線生成onvif.h檔案 需要執行命令 wsdl2h o onvif.h c s t typemap.dat devicemgmt.wsdl media.wsdl event.wsdl display.wsdl deviceio.wsdl imaging.wsdl ptz.wsdl recei...

C 開發OPC客戶端

第乙個隨筆,使用了open live write,作為客戶端.最近使用c 開發乙個小軟體,主要功能是opc客戶端.以後會開發各類別的協議,作為,協議的 棧.因為我本人是搞自動化的,所以搞自動化小夥伴像我這樣喜歡程式設計的可能有,但是一般是邏輯思維強,但是底子相對還是弱的.1,c 開發opc的準備工作...

ONVIF客戶端開發

在使用 gsoap 框架生成 之後,得到檔案 soapc.c soapclient.c stdsoap2.c stdsoap2.h duration.c wsdd.h我們利用現有的soapclient,呼叫api構建onvif請求 包括xml,http client 開發前需要了解一下onvif官網...