VisualStudio环境下GSOAP开发指南

  • 前言

      一般情况下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;
}

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值