文档章节

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

东湖畔新家
 东湖畔新家
发布于 2017/05/09 18:56
字数 339
阅读 10
收藏 0

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 ...

© 著作权归作者所有

共有 人打赏支持
东湖畔新家
粉丝 1
博文 170
码字总数 31582
作品 0
杭州
后端工程师
私信 提问
gsoap的c++ server和java client实现

最近项目需要建立向客户方已有系统推送类似于RSS信息的富文本信息,并推送信息待定,由于我们本身项目是C++的,客户系统是java的,又要满足到推送信息可定制可扩展,并必要时可web查看,思量...

py_tty_0529
2017/07/08
0
0
使用axis2发布web service

Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物。Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的REST WebService,同时还支持Spring、JSON等技术。这些都将在后面的...

NotFoundException
2013/03/13
0
0
axis2 client namespace mismatch

在基于axis2进行WebService开发部署时(使用Java客户端调用服务)可能会报namespace mismatch require http://ws.apache.org/axis2 found http://ws.apache.org/axis2/xsd 这样的错误.根据本...

dml124
2015/05/14
0
0
webservice发布--使用axis2发布

如何使用axis2发布webservice? axis2发布webservice分为打包发布和不打包发布两种,今天主要研究了一下打包发布的方法 1.部署axis2框架(使用tomcat部署) 1.1 下载axis2的war包,测试使用的w...

程序员小虫
2014/10/23
0
1
axis helloworld

Axis2创建WebService实例 博客分类: Java综合 WebServiceTomcatApacheWebXML 一、Axis2的下载和安装 1.可从http://ws.apache.org/axis2/ 下载Axis2的最新版本: 可以下载如下两个zip包: ax...

itwriter
2014/08/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式事务解决方案框架(LCN)

什么是XA接口 XA是一个分布式事务协议,由Tuxedo提出。XA中大致分为两部分:事务管理器和本地资源管理器。其中本地资源管理器往往由数据库实现,比如Oracle、DB2这些商业数据库都实现了XA接口...

群星纪元
11分钟前
0
0
linux 操作系统 常用命令和软件安装

1.系统时间更新 ntpdate time.windows.com 2.传送文件 rsync -av /home/data/a.dat -e ssh root@192.168.0.100:/home 3.传送文件夹 scp -r /home/data root@192.168.0.100:/home 4.JDK安装 ......

WJtiny
33分钟前
0
0
pg_lightool基于basebackup的单表恢复和块恢复

开源软件pg_lightool,实现了基于wal日志的块恢复。详情参见博客:https://my.oschina.net/lcc1990/blog/1931485。由于wal日志中FPW的不确定性,它不能作为一个数据库恢复的解决方案。目前对...

movead
41分钟前
2
0
对比剖析Swarm Kubernetes Marathon编排引擎

Docker Native Orchestration 基本结构 Docker Engine 1.12 集成了原生的编排引擎,用以替换了之前独立的Docker Swarm项目。Docker原生集群(Swarm)同时包括了(Docker Engine \/ Daemons)...

Linux就该这么学
43分钟前
2
0
Mybatis的结果集处理

此时我们已经可以把整段的SQL语句取出,但还并没有在数据库中去执行,我们可以先来分析一下配置文件中SQL语句执行后的结果集是如何处理的。 Mybatis会将结果集按照映射配置文件中定义的映射规...

算法之名
55分钟前
25
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部