异构语言交互访问 解决方案及例子(二)
—cxf与gsoap交互
--》编写头文件:add.h
加入方法
//gsoap ns service name: add
//gsoap ns service namespace: http://localhost/add.wsdl
//gsoap ns service location: http://localhost
//gsoap ns service executable: add.cgi
//gsoap ns service encoding: encoded
//gsoap ns schema namespace: urn:add
int ns__add( int num1,int num2,int* sum);
--》gsoap工具生成服务器代码
soapCpp.exe add.h
--》生成vc工程
soapServerLib.cpp 不要加入工程否则编译报错。
--》用cxf wsdl2java工具生成java调用代码
E:\mysoft\apache-cxf-2.7.6\bin>wsdl2java -impl -server -client -d outputDir add
.wsdl
outputDir 文件夹下会生成
├─outputDir
│ │ build.xml
│ │
│ ├─add
│ │ Add.java
│ │ AddResponse.java
│ │ ObjectFactory.java
│ │ package-info.java
│ │
│ └─localhost
│ └─add_wsdl
│ Add.java
│ AddPortType.java
│ AddPortTypeImpl.java
│ AddPortType_Add_Client.java
│ AddPortType_Add_Server.java
--》eclipse建立工程 拷贝代码 加入相应jar包
生成的代码里面, @XmlElementRef(name = "sum", type = JAXBElement.class, required = false)
会报错,去掉required = false,就ok了。
add.java里几个构造函数可以注释掉。
--》撰写cxf客户端测试类
//定义JaxWs的代理工厂
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
//设置JaxWs代理工厂的属性,包括服务类和地址
factory.setServiceClass(AddPortType.class);
factory.setAddress("http://localhost:50001/AddPortType");
//获取服务类的对象并处理
AddPortType addPortType = (AddPortType) factory.create();
int result = addPortType.add(1, 2);
System.out.println(result);
其中AddPortType 是工具自动生成的接口实现类。(对应wsdl文件中的<portType name="addPortType">)
--》总结
总体上 webservice实现起来还是比较麻烦,Rest可以用json进行异构交互,实现起来应该相对简单些,c++的rest开源框架比较少,最近微软好像开源了一个Rest框架,有时间研究下。
分享到:
相关推荐
SOA异构系统交互指南 SOA异构系统交互指南 SOA异构系统交互指南
提出一种异构数据库协调的解决方案,该方案吸纳了数据库元数据、中间件、LDAP目录服务等思想。它采用CSCW体系结构中的联邦结构,对应用中输入的要求,在通信处理器的支持下,由协调控制器调用数据库元数据目录服务,协同...
云计算异构资源管理解决方案.pptx
HP异构存储虚拟化解决方案
一种异构的Linux集群解决方案.pdf
可实现基于XML文件的异构数据交互的功能。 本软件基于工作需要而开发,主要特点采用java开发,可在绝大多数平台使用,可灵活订制数据抽取后xml文件格式,可配置是否采用zip进行压缩传输,可灵活配置解析xml文件的某...
异构存储虚拟化环境解决方案
解决现有存储系统的问题 数据大集中(OA/Mail/OLTP…)—访问竞争 应用复杂,数据分级存储需求 设备利旧,投资保护 异构存储系统之间的迁移、复制 复杂SAN存储资源的统一管理
异构多核架构即结合两种或多种不同类型的微处理器或微控制器的架构。
企业上云异构计算解决方案.pptx
IBM SVC 异构存储容灾解决方案建议书.docx
HP异构存储虚拟化项目解决方案.doc
一种基于FPGA、DSP和ARM的异构运算构架及实现方案.pdf
IBM SVC异构存储容灾解决方案建议书,帮助你了解IBM存储虚拟化的技术
多源异构数据采集和可视化解决方案.docx多源异构数据采集和可视化解决方案.docx
异构数据库集成中数据传输问题的研究
基于WebAccess的建筑SCADA异构系统解决方案pdf,基于WebAccess的建筑SCADA异构系统解决方案