webservice 开发 axis2 简单部署服务 gSoap 客户端通信_C/C++_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > C/C++ > webservice 开发 axis2 简单部署服务 gSoap 客户端通信

webservice 开发 axis2 简单部署服务 gSoap 客户端通信

 2013/1/25 11:06:27  sblig  程序员俱乐部  我要评论(0)
  • 摘要:WebService的服务端webservice开发axis2简单部署服务就是用前一章中的服务端wsdl如下:http://localhost:8080/axis2/services/SimpleService?wsdl下载gsoap2.8版本第一步生成头文件:wsdl2h–ohello.h-shttp://localhost:8080/axis2/services/SimpleService?wsdl参数说明-s不要使用STL代码第二步根据头文件生成stubsoapcpp2.exe-i-C
  • 标签:Web Service Webservice 客户 开发 客户端 服务 Axis2

WebService服务端 ?webservice 开发 axis2 简单部署服务??就是用前一章中的服务端

?

wsdl如下:

http://localhost:8080/axis2/services/SimpleService?wsdl

?

下载 gsoap 2.8 版本

?第一步生成头文件

? wsdl2h?? –o hello.h?-s ?http://localhost:8080/axis2/services/SimpleService?wsdl

???? 参数说明 -s? 不要使用STL代码?

?

?第二步 根据头文件生成stub

?soapcpp2.exe -i -C -x hello.h -IF:\gsoap-2.8\gsoap\import

???? 参数说明 -i 直接使用C++包装类 -x 不要生成一堆看了就恶心的xml -C 只生成客户端相关代码 -I 指定import路径

?

第三步 VS2008 创建 命令行工程? ws5
?
第四步 编辑工程属性?? C/C++ -> 预编译头 ->? 创建/使用预编译头??? 选择 不使用预编译头

第五步 编辑工程属性?? 链接器->输入->附件依赖项? 输入 WSock32.Lib

?

第六步 把刚才gsoap生成的文件 soapH.h?? soapC.c?? soapStub.h? soapClient.c

???????????和gsoap文件夹下的?????? stdsoap2.h? stdsoap2.c??? 拷贝到当前工程下面

?

?第七步 实现

?

#include "stdafx.h"

#include <locale.h>
#include <stdio.h>
#include <stdlib.h>

#include "soapH.h"
#include "SimpleServiceSoap11Binding.nsmap"


int _tmain(int argc, _TCHAR* argv[])
{
	struct soap *soap = soap_new();
    struct _ns1__getGreetingResponse out;

    soap->mode|=SOAP_C_MBSTRING;
    soap_set_mode(soap,SOAP_C_MBSTRING);
    setlocale(0,"chs");

    struct _ns1__getGreeting resq;
    resq.name="超人";
    if(soap_call___ns1__getGreeting(soap,NULL,NULL,&resq,&out)==SOAP_OK){
        printf("%s\n",out.return_);
    }

	printf("Press enter to continue ...");
	getchar();
	return 0;
}

?

?输出结果:

?

?你好 超人
Press enter to continue ...

发表评论
用户名: 匿名