`

[图解教程]Axis2与Eclipse整合开发Web Service之二:WSDL逆向生成服务端

阅读更多

 

       一般开发Web Service,是选写服务端,再根据生成的WSDL文件生成客户端。看过一本SOA的书中说,如果实现防止不同语言一些特定的数据类型的不兼容性,推荐先定义WSDL接口,包括一输入输出参数、返回值及相关的数据类型等,再通过WSDL来生成服务器端和客户端,这样的好处是:服务端不用关心客户端怎么调用,客户端也不用关系服务端如何实现。

       关于Eclipse中Axis2的配置方法,请看我的[图解教程] Axis2与Eclipse整合开发Web Service之一:简单的计算服务例子,下面来新建一个WSDL文件,如下图:

image

改个名字为“manager.wsdl”,如下图:

image

下一步,定义命名空间和协议等信息,默认即行。如下图:

image

finish后,会在主工作区出现如下图:

image

这是manager.wsdl的图形化形式,点击“Source”会可查看到源代码:

image

这是默认生成的wsdl,我们要根据我们的项目需要,修改上面的图,首先对方法名进行修改,如下图:

image

可见,修改之后,右边的input和output也跟着修改了,这两个就是定义plus的输入和输出。

点击input参数“plus”右边的提示箭头,进入下图:

image

就在这里定义输入参数和和参数类型等信息,因为我们plus(float x, float y)方法中有两个参数x和y,故我们将上图改成两个参数的序列:

image

变成下图,对比一下方法plus(float x, float y),下图也不会太难理解吧!

image

我们返回manager.wsdl视图,选择output参数右边的箭头,进入下图:

image

我们在这里设置float plus(float x, float y)方法的返回值及其类型,因其返回值只有一个,我们只须把上面的out的类型改成我们方法中用的float,改后,如下图:

image

有没有注意到上图左上角有个image 图标,点击它,进入下图:

image

我们可以在这里对输入输出的参数及其他数据类型进行修改,如果在上面的操作过程中,不小心产生了多余的标签的话,也可以在这里去除。

好了,我们再回到manager.wsdl,在源代码视图里右键选“Validate”,对xml文档进行检验,如果有错误的,就根据需要修改。

image

好了,图形化编写的wsdl文档完成了,顺便说一下,方法是可以定义多个的,如下图:

image

为简单起见,我们就先以刚才做定义的那个方法为例,看看,如何根据wsdl文件,自动生成Web Service的服务器端。

 

我们New一个Web Service,如下图:

image

记得在Web Service type中选择“Top down Java Bean Web Service”,如下图:

image

然后,在Service definition中找到刚才写的那个manager.wsdl文件。

image 

回到Web Service对话框,将服务类型的滑块调到“Develop service”处,

image

接下来,就next –> next –-> finish就行。它会自动生成Web Service服务端的接口和类,在类中,可找到我们定义的方法:

image

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

我们只要修改方法plus的方法体,以实现我们要实现的功能即行。如下:

image

这是通过WSDL反向生成Web Service服务端的最简单一个例子,可能看不到有什么好处,没有像[图解教程] Axis2与Eclipse整合开发Web Service之一:简单的计算服务例子那样的简便快捷,但如果是一些特有的数据类型,如List,Set,这些,我们有在WSDL图形化设计中找到相应的替代类型,先定义WSDL再生成服务端接口,这样做,不仅Java开发客户端是没有问题的,用C#开发客户端也能成功没有出错!

但如果先开发服务器端的话,如果用到一些Java特有的数据类型,如List,Set,如果用其他语言生成的客户端,就可能出问题。同理,用C#开发服务端,如果用到像DataSet这样的返回类型的话,那如果用Java或者其他语言去开发客户端,也可能会出现问题的。

如果统一先写WSDL,再根据WSDL生成服务端和客户端,应该是一种很不错的做法,Eclipse在这方面的图形化支持给带给我们事半功倍的效果,这样做,也比较符合SOA的做法。

更多信息请查看 java进阶网 http://www.javady.com

分享到:
评论

相关推荐

    Axis2与Eclipse整合开发的Web Service的服务端

    【标题】:Axis2与Eclipse整合开发的Web Service服务端详解 【描述】:本文将详细介绍如何在Eclipse环境中利用Axis2框架开发一个Web Service服务端,包括计算器服务CalculateService的实现步骤。 【标签】:Axis2,...

    Axis2与Eclipse整合开发Web Service

    【Axis2与Eclipse整合开发Web Service】是一个关于在Eclipse集成开发环境中使用Apache Axis2创建和部署Web服务的教程。Apache Axis2是用于构建Web服务的高效且灵活的框架,而Eclipse作为流行的Java IDE,提供了方便...

    wsdl文件生成服务端和客服端插件

    标题中的“wsdl文件生成服务端和客服端插件”指的是能够帮助开发者自动生成服务端(服务器)和客户端(客户机)代码的工具,这种工具通常简化了Web服务开发过程,尤其是对于那些不熟悉低级SOAP协议细节的开发者来说...

    axis2-eclipse-codegen-plugin-1.6.2和axis2-eclipse-service-plugin-1.6.2

    标题中的"axis2-eclipse-codegen-plugin-1.6.2和axis2-eclipse-service-plugin-1.6.2"指的是两个与Apache Axis2相关的Eclipse插件:Axis2代码生成插件和Axis2服务插件,它们是版本1.6.2的。Apache Axis2是一个流行的...

    AXIS2 1.7.3 idea wsdl 代码生成插件

    总的来说,AXIS2 1.7.3 idea wsdl代码生成插件是提升AXIS2 Web服务开发效率的重要工具,它结合了WSDL的强大描述能力与IDEA的优秀开发环境,为Java开发者提供了一站式的解决方案。通过熟练掌握这一插件的使用,开发者...

    axis1.4jar包以及WSDL和服务端代码互转方法

    本文将深入探讨如何使用Axis1.4.jar包以及Eclipse IDE来实现WSDL(Web Service Description Language)和服务端代码之间的相互转换。 首先,让我们了解WSDL。WSDL是一种XML格式的规范,用于定义网络服务的接口,...

    axis2支持webservice 自动生成代码客户端服务端代码插件

    使用Axis2的Eclipse插件,开发人员可以导入一个WSDL文件,然后自动创建与之对应的Java服务实现类和服务部署配置文件,以及客户端的Stub类,使得调用Web服务如同调用本地方法一样简单。 在描述中提到的“基于eclipse...

    axis2-eclipse-codegen-plugin-1.6.2.zip和axis2-eclipse-service-plugin-1.6.2.zip

    标题中的"axis2-eclipse-codegen-plugin-1.6.2.zip"和"axis2-eclipse-service-plugin-1.6.2.zip"是两个与Apache Axis2相关的Eclipse插件,用于简化Web服务的开发过程。Apache Axis2是Java平台上一个成熟的Web服务...

    axis2生成客户端服务端代码

    ### Axis2生成客户端与服务端代码详解 #### 一、Axis2简介 Axis2是Apache组织下的一个开源项目,它是一种高性能、轻量级的Web服务框架,支持SOAP和REST等协议,能够帮助开发者轻松地构建和部署Web服务。Axis2提供了...

    MyEclipse下Axis2插件的下载和安装:wsdl生成客户端

    下载 axis2 eclipse codegen wizard zip 和 axis2 eclipse service archiver wizard zip http: labs xiaonei com apache mirror ws axis2 1 5 axis2 1 5 war zip 下载 axis2 1 5 war zip 2 .解压插件 $ECLIPSE ...

    根据wsdl生成axis的服务端和客户端__工具.rar

    本压缩包文件“根据wsdl生成axis的服务端和客户端__工具.rar”提供了一种基于Apache Axis工具生成服务端和客户端代码的方法,以简化基于WSDL的Web服务开发。 首先,我们需要理解Apache Axis。Axis是一个开源的Java...

    axis2_eclipse_codegen&service_plugin_1.6.2

    标题“axis2_eclipse_codegen&service_plugin_1.6.2”指的是Axis2为Eclipse IDE提供的一个插件,主要用于Web服务的代码生成和服务部署。这个插件版本为1.6.2,它使得开发人员在使用Eclipse进行基于Axis2的Web服务...

    axis2-eclipse-codegen-plugin-1.6.2+axis2-eclipse-service-plugin-1.6.2

    总的来说,"axis2-eclipse-codegen-plugin-1.6.2+axis2-eclipse-service-plugin-1.6.2"的组合为Eclipse用户提供了一套完整的Web服务开发解决方案,从生成代码到部署服务,全程都在熟悉的开发环境中完成,极大地提升...

    wsdl生成webserice服务端

    Apache CXF是一个流行的Java Web服务框架,它支持WSDL第一和第二范式,即可以从WSDL生成服务代码,也可以从Java类生成WSDL。此外,CXF还提供了丰富的调试和测试工具,使得开发和调试Web服务更为便捷。 总的来说,...

    axis2 1.7.4 eclipse插件

    在本文中,我们将深入探讨“Axis2 1.7.4 Eclipse插件”,以及如何利用这些插件在Eclipse集成开发环境中(IDE)便捷地创建和管理Web服务。 标题中的“Axis2 1.7.4 Eclipse插件”指的是针对Apache Axis2版本1.7.4的两...

    eclipse下开发axis2

    ### Eclipse 下开发 Axis2 Web 服务的详细指南 #### 一、环境搭建与配置 **1.1 环境需求** 为了确保能够顺利地在 Eclipse 中开发 Axis2 Web 服务,首先需要准备好以下环境: - **开发工具**: Eclipse IDE(推荐...

    Axis2 接口生成wsdl工具

    总的来说,Apache Axis2作为一个强大的Web服务开发框架,提供了丰富的特性和集成选项,包括WSDL生成、Spring整合和RESTful服务支持,以及与Servlet容器如Tomcat的无缝集成,为开发者带来了极大的便利。通过理解和...

    axis2-eclipse-service与axis2-eclipse-codegen插件

    目前axis2最高版本是2.0以上的版本,但是eclipse和myeclipse都不支持,无奈只能使用低版本的插件1.6.3;经实验,可以安装成功;...axis2-eclipse-service-plugin-1.6.3.zip axis2-eclipse-codegen-plugin-1.6.3.zip

    axis2-eclipse CodeGen和Service插件1.7.9

    总之,"axis2-eclipse CodeGen和Service插件1.7.9"是Eclipse用户在基于Axis2开发Web服务时的强大工具,它们提高了开发效率,简化了Web服务的生命周期管理,是Java Web服务开发者不可或缺的助手。

Global site tag (gtag.js) - Google Analytics