VisualStudio環境下GSOAP開發指南

來源:互聯網
上載者:User
  • 前言

      一般情況下VC書寫Webservice用戶端,可以使用微軟提供的SOAP Toolkit 3.0 SDK,這樣比較方便快捷,但是用過的人都知道,這樣的代碼部署會有很大的問題,必須要求部署機器安裝該SDK。

GSOAP是一個開源項目,可以解決這個部署的問題,但是由於他只是一個開源的東西,要與vc無縫整合并不是一個容易的事情。

http://www.cs.fsu.edu/~engelen/soapdoc2.html是GSOAP的指南,按照該指南一步一步做,其實也不會成功。

  • 測試環境

IDE版本:

VS2008(其他版本也適用)

GSOAP版本:

gsoap2.7.12(其他版本也適用)

  • 嚮導

1 . 環境假定:

    1)已有一個webservice: http://localhost:16041/WebService1.asmx, 該web服務暴露出方法

      [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }

     2)假定已用嚮導產生win32控制台工程 cln,目錄 c:/code/cln

     3) 假定gsoap來源目錄 c:/gsoap

 2.準備:

     1)建立子目錄c:/code/cln/gsoap

     2) 複製wsdl2h.exe,soapcpp2.exe到c:/code/cln/gsoap,該2檔案在c:/gsoap/bin/win32下可找到

     3)複製stdsoap2.h,stdsoap2.cpp到c:/code/cln/gsoap,該2檔案在c:/gsoap根目錄下

 3.wsdl2h編譯.h

      命令列進入c:/code/cln/gsoap

      wsdl2h -I"c:/gsoap/WS" -o test.h http://localhost:16041/WebService1.asmx?wsdl

     該操作將產生c:/code/cln/gsoap/test.h

 4.soapcpp2編譯.cpp

      soapcpp2 -I"c:/gsoap/import" test.h

 5.cln工程整合編譯

    將soapC.cpp,soapClient.cpp,stdsoap2.cpp包含入工程,右鍵選擇這3個cpp檔案,去除先行編譯頭,否則工程將無法正常編譯.

   cln.cpp原始碼

  #include "stdafx.h"
#include "gsoap/soapWebService1SoapProxy.h"
#include "gsoap/WebService1Soap.nsmap"

int _tmain(int argc, _TCHAR* argv[])
{
 WebService1Soap s;
 _ns1__HelloWorld request;
 _ns1__HelloWorldResponse response;
 s.__ns2__HelloWorld(&request,&response);

 return 0;
}

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.