首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

gsoap CXF2.7.5 ssh vc++ webservice应用范例(一)

2013-10-08 
gsoap CXF2.7.5 ssh vc++ webservice应用实例(一)webservice的一个大亮点就是跨平台。项目中要求c和jee相结

gsoap CXF2.7.5 ssh vc++ webservice应用实例(一)

webservice的一个大亮点就是跨平台。项目中要求c++和jee相结合的系统。我想采用webservice来交互信息。

c++做webservice应用,我选择了gsoap;这套系统是B/S模式的应用系统,我选择了ssh三大框架来做。

有一项技术一直没有应用过,经过一天的尝试,终于走通了流程。c++和jee之间实现了相互调用。

在这过程中,我网上查了许多资料,用了很多的关键词搜索,一直没有找到我想要的答案。特别是CXF做客户端的,几乎都是官网文档的部分翻译。都简单的写了一下怎么做,让人摸不着头脑。最后,从一个简单的源码受到启示。尝试成功。

C++的webservice服务端、客户端;jee的服务端、客户端。共有4个项目,为了测试相互调用。所以分了四篇博文。

源码在完成博文后传到csdn资源中供下载。

给自己留个记录,也希望能帮到跟我一样迷茫中的初学者。

首先是WSDL,4个项目使用同一个WSDL。我是初学者,不会编辑WSDL文档,所以就先用CXF代码优先做个服务器端,成功后产生WSDL,再给其它3个项目使用。

我之前的一篇博文中有使用描述(

在图中还没有开始webservice的情况。

建立org.biboheart.webservice包,类名:HelloWorld

建立接口后实现

gsoap CXF2.7.5 ssh vc++ webservice应用范例(一)

HelloWorld.java中的内容:

<?xml version="1.0" encoding='UTF-8'?><wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://webservice.biboheart.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" name="HelloWorld" targetNamespace="http://webservice.biboheart.org/">  <wsdl:types><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://webservice.biboheart.org/" elementFormDefault="unqualified" targetNamespace="http://webservice.biboheart.org/" version="1.0"><xs:element name="sayHello" type="tns:sayHello"></xs:element><xs:element name="sayHelloResponse" type="tns:sayHelloResponse"></xs:element><xs:complexType name="sayHello">    <xs:sequence>      <xs:element minOccurs="0" name="name" type="xs:string"></xs:element>    </xs:sequence>  </xs:complexType><xs:complexType name="sayHelloResponse">    <xs:sequence>      <xs:element minOccurs="0" name="return" type="xs:string"></xs:element>    </xs:sequence>  </xs:complexType></xs:schema>  </wsdl:types>  <wsdl:message name="sayHelloResponse">    <wsdl:part element="tns:sayHelloResponse" name="parameters">    </wsdl:part>  </wsdl:message>  <wsdl:message name="sayHello">    <wsdl:part element="tns:sayHello" name="parameters">    </wsdl:part>  </wsdl:message>  <wsdl:portType name="HelloWorld">    <wsdl:operation name="sayHello">      <wsdl:input message="tns:sayHello" name="sayHello">    </wsdl:input>      <wsdl:output message="tns:sayHelloResponse" name="sayHelloResponse">    </wsdl:output>    </wsdl:operation>  </wsdl:portType>  <wsdl:binding name="HelloWorldSoapBinding" type="tns:HelloWorld">    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"></soap:binding>    <wsdl:operation name="sayHello">      <soap:operation soapAction="" style="document"></soap:operation>      <wsdl:input name="sayHello">        <soap:body use="literal"></soap:body>      </wsdl:input>      <wsdl:output name="sayHelloResponse">        <soap:body use="literal"></soap:body>      </wsdl:output>    </wsdl:operation>  </wsdl:binding>  <wsdl:service name="HelloWorld">    <wsdl:port binding="tns:HelloWorldSoapBinding" name="HelloWorldImplPort">      <soap:address location="http://localhost:8080/CXFServerDemo/webServices/HelloWorld"></soap:address>    </wsdl:port>  </wsdl:service></wsdl:definitions>

如果页面中显示出如上XML代码表示webservice服务端已经成功

浏览器中选择保存,把资源保存为.wsdl文件。也可以直接复制上面的代码保存为.wsdl文件进行开发使用。

CXF 服务已经发布完成,下面的用这个WSDL文件在C++方用GSOAP做webservice服务。

该上班了…… 晚上再续


热点排行