• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            1、環(huán)境搭建

                 操作系統(tǒng):Vista Home

                gSOAP:2.7.17Stable版(下載地址:http://sourceforge.net/projects/gsoap2/)

                c\c++集成環(huán)境:VC6.0

            2、gSOAP

                下載得到gsoap_2.7.17.zip文件,解壓該文件。稍后需要從該文件夾中獲取相關(guān)文件。設(shè)釋放路徑為"G:\webservice\gsoap-2.7",后文%GSOAP代表該文件夾路徑。

            3、通過WSDL文檔,生成C/C++頭文件

                 3.1 WSDL是什么:WSDL (Web Services Description Language,Web服務(wù)描述語言)是一種XML Application,他將Web服務(wù)描述定義為一組服務(wù)訪問點(diǎn),客戶端可以通過這些服務(wù)訪問點(diǎn)對包含面向文檔信息或面向過程調(diào)用的服務(wù)進(jìn)行訪問(類似遠(yuǎn)程過程調(diào)用)。WSDL首先對訪問的操作和訪問時使用的請求/響應(yīng)消息進(jìn)行抽象描述,然后將其綁定到具體的傳輸協(xié)議和消息格式上以最終定義具體部署的服務(wù)訪問點(diǎn)。相關(guān)的具體部署的服務(wù)訪問點(diǎn)通過組合就成為抽象的Web服務(wù)。

                 3.2 通過WSDL生成訪問接口:(http://192.168.100.44:8888/kms_provincial/services/LoginInit?wsdl為一WebService接口)

                 設(shè)定c\c++工程名稱為TestWebService(Console程序,其他應(yīng)用程序類型也可),在該文件夾下面建立TestWebService.h文件。

                 啟動cmd,進(jìn)入到%GSOAP/bin目錄,調(diào)用wsdl2h.exe程序生成TestWebService.h頭文件接口定義。

                 wsdl2h -s –o x:\xxx\TestWebService.h [url]http://192.168.100.44:8888/kms_provincial/services/LoginInit?wsdl[/url]

                 執(zhí)行完畢后,生成soapLoginInitSoapBindingProxy.h、soapLoginInitSoapBindingProxy.cpp文件。

                3.3 解析TestWebService.h文件,生成存根程序

                     soapcpp2 –C x:\xxx\TestWebService.h

                     命令中參數(shù)-c代表生成標(biāo)準(zhǔn)C程序,若沒有這個參數(shù),則生成C++程序。

                    命令中參數(shù)-C代表僅生成客戶端程序,若沒有這個參數(shù),則默認(rèn)生成客戶端和服務(wù)端程序。4

            4 建立vc工程

                

                建立以TestWebService為名稱的console工程,將%GSOAP下的soapC.cpp、soapH.h、soapcpp2.h、stdsoap2.cpp、stdsoap2.h、soapStub.h、soapLoginInitSoapBindingProxy.cpp、soapLoginInitSoapBindingProxy.h加入到工程中。

             1//在TestWebService.cpp主工程中加入接口操作代碼。
             2
             3#include "soapH.h" // or whatever it is called, you must already have it
             4#include "soapLoginInitSoapBindingProxy.h"
             5#include "LoginInitSoapBinding.nsmap" // this is what you have to add to fix the problem
             6int main(int argc, char* argv[])
             7{
             8 printf("Hello World!\n");
             9 
            10 DWORD dwStartTime;
            11 DWORD dwEndTime;
            12 
            13 struct soap clientSOAP; 
            14 LoginInitSoapBindingProxy oLoginInitSoapInterface;
            15 char *pbRetuned = "";
            16 int iRet = 0;
            17 dwStartTime = GetTickCount();
            18 
            19 for (int i= 0; i<1000; i++)
            20 {
            21  soap_init(&clientSOAP); 
            22  
            23  iRet = oLoginInitSoapInterface.service(pbRetuned);
            24  
            25#ifdef _DEBUG
            26  printf("result: oLoginInitSoapInterface.service = %d\r\n", iRet);
            27  printf("value = %s\r\n", pbRetuned);
            28#endif
            29  
            30  soap_destroy(&clientSOAP); 
            31  soap_end(&clientSOAP); 
            32  soap_done(&clientSOAP);
            33 }

            34 
            35 dwEndTime = GetTickCount();
            36 printf("result: oLoginInitSoapInterface.service = %d\r\n", iRet);
            37 printf("value = %s\r\n", pbRetuned);
            38 printf("elaspe time = %d\r\n", (dwEndTime - dwStartTime)/i);
            39  
            40
            41 return 0;
            42}
            在該工程中,service為WebService上的一個自定義接口,返回值為pbRetuned。

            5、注意問題

                5.1 在工程頭文件中加入#include "LoginInitSoapBinding.nsmap" // this is what you have to add to fix the problem,否則會有編譯問題,請自己嘗試;

               5.2 中文漢字問題,注意編碼問題,統(tǒng)一即可。

            久久er热视频在这里精品| 亚洲国产精品久久66| 日本精品久久久久中文字幕| 久久WWW免费人成一看片| 色青青草原桃花久久综合| 国内精品免费久久影院| 久久久久久a亚洲欧洲aⅴ| 久久久无码一区二区三区| 久久久久久久亚洲Av无码| 久久久久久精品免费免费自慰| 国产成人精品久久| 人妻无码久久精品| 99蜜桃臀久久久欧美精品网站 | 国产精品久久久久久久久鸭| 国产精品综合久久第一页| 国产叼嘿久久精品久久| 88久久精品无码一区二区毛片| 久久国产午夜精品一区二区三区| 久久精品成人欧美大片| 国产精品99久久久精品无码| 亚洲精品乱码久久久久66| 国产福利电影一区二区三区,免费久久久久久久精 | 要久久爱在线免费观看| 精品免费tv久久久久久久| 国产69精品久久久久99| 久久免费观看视频| MM131亚洲国产美女久久| 国产精品久久久久久久久软件| 久久精品一区二区| 青青草原综合久久大伊人导航| 久久久久久曰本AV免费免费| 日韩人妻无码精品久久久不卡| 中文字幕精品久久| 99久久99这里只有免费费精品| 蜜桃麻豆www久久| 久久99久久99精品免视看动漫| 久久天天躁狠狠躁夜夜96流白浆| 99久久无码一区人妻| 五月丁香综合激情六月久久| 久久久久99精品成人片牛牛影视| 日韩久久久久久中文人妻 |