`

Axis2与Eclipse整合开发Web Service之二:WSDL逆向生成服务端

阅读更多
一般开发Web Service,是选写服务端,再根据生成的WSDL文件生成客户端。看过一本SOA的书中说,如果实现防止不同语言一些特定的数据类型的不兼容性,推荐先定义WSDL接口,包括一输入输出参数、返回值及相关的数据类型等,再通过WSDL来生成服务器端和客户端,这样的好处是:服务端不用关心客户端怎么调用,客户端也不用关系服务端如何实现。
       关于Eclipse中Axis2的配置方法,请看我的[图解教程] Axis2与Eclipse整合开发Web Service之一:简单的计算服务例子,下面来新建一个WSDL文件,如下图:


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


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


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

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

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


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

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


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



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



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



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



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



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

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



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



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

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



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



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



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



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



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



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

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

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



转载:http://www.blogjava.net/rongxh7

  • 大小: 89.4 KB
  • 大小: 61.9 KB
  • 大小: 60.9 KB
  • 大小: 25.9 KB
  • 大小: 58.5 KB
  • 大小: 24.6 KB
  • 大小: 22.1 KB
  • 大小: 26.4 KB
  • 大小: 30.3 KB
  • 大小: 21.2 KB
  • 大小: 31.2 KB
  • 大小: 32.2 KB
  • 大小: 13.2 KB
  • 大小: 21.1 KB
  • 大小: 69.5 KB
  • 大小: 45.1 KB
  • 大小: 49.2 KB
  • 大小: 107.3 KB
  • 大小: 36.3 KB
  • 大小: 35.6 KB
分享到:
评论

相关推荐

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

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

    html2

    4. ** Axis2与Eclipse整合**:将Axis2与Eclipse集成,可以方便地在Eclipse环境中创建、部署和测试Web Service。开发者可以在Eclipse内使用Axis2插件生成服务端和客户端代码,实现快速开发。 5. **简单的计算服务...

    org.apache.axis2.eclipse.codegen.plugin_1.6.3

    2. **Java到WSDL逆向工程**:如果你已经有一个Java接口或实现,插件可以帮助你生成相应的WSDL文件,这对于声明Web服务接口非常有用。 3. **支持多种编码风格**:Axis2 Codegen插件支持不同编码风格,如AXIOM、SOAP ...

    axis+WebService

    通过Axis,开发者可以利用Java类直接生成Web服务接口,同时也支持从WSDL文件逆向工程生成Java代码。 **二、WebService的核心概念** 1. **SOAP(Simple Object Access Protocol)**:一种基于XML的消息传递协议,...

    基于CST软件的三维超材料能带计算及其应用

    内容概要:本文介绍了如何利用CST软件进行三维超材料的能带计算。首先概述了三维超材料的独特性质及其广泛应用前景,接着简要介绍了CST软件的功能特点。随后详细阐述了能带计算的具体步骤,包括模型建立、材料参数设置、网格划分与求解设置以及最终的计算与结果分析。最后给出了一段Python代码示例,展示了如何处理CST输出的数据并绘制能带图。文章强调了计算机模拟技术对于深入了解超材料电子结构和物理性质的重要性。 适合人群:从事材料科学研究的专业人士,尤其是对三维超材料和电磁场模拟感兴趣的科研工作者和技术人员。 使用场景及目标:适用于希望借助CST软件开展三维超材料能带计算的研究项目,旨在提高对超材料的理解,推动相关领域的技术创新和发展。 其他说明:文中提供的Python代码仅为示例,在实际操作时可根据具体情况进行调整优化。同时,掌握CST软件的基本操作和电磁理论基础知识有助于更好地理解和应用本文内容。

    基于FPGA的永磁同步伺服系统设计:电流环及矢量控制实现

    内容概要:本文详细介绍了基于FPGA的永磁同步伺服系统的矢量控制设计,涵盖了从电流环到速度环的关键模块实现。具体包括Clarke和Park变换、PI调节器、AD7606采样、正交编码器反馈以及SVPWM生成等部分。文中提供了详细的Verilog代码片段,展示了各个模块的具体实现方法和技术细节。特别强调了定点数处理、时序设计和跨时钟域处理等方面的技术挑战及其解决方案。 适合人群:具备一定FPGA开发经验和电机控制基础知识的研发人员。 使用场景及目标:适用于希望深入了解FPGA在电机控制应用中的具体实现方式,特别是矢量控制和电流环设计的专业人士。目标是掌握FPGA平台下高效、低延迟的电机控制系统设计方法。 阅读建议:由于涉及大量具体的Verilog代码和硬件设计细节,建议读者在阅读过程中结合实际项目进行实验和调试,以便更好地理解和掌握相关技术。

    飞机大战:从运动方程到战斗系统的全链路设计解析

    经典飞机大战游戏是理解实时交互系统设计的绝佳载体。本文将深入剖析现代空战游戏的核心模块,涵盖刚体运动学、弹道轨迹优化、碰撞检测算法等关键技术,揭示二维游戏背后复杂的三维数学建模过程。

    scratch少儿编程逻辑思维游戏源码-冰塔.zip

    scratch少儿编程逻辑思维游戏源码-冰塔.zip

    scratch少儿编程逻辑思维游戏源码-弹跳(4).zip

    scratch少儿编程逻辑思维游戏源码-弹跳(4).zip

    COMSOL焊接热源模型解析:双椭球、高斯旋转体与柱状体热源的应用与优化

    内容概要:本文详细介绍了COMSOL软件中三种常见的焊接热源模型——双椭球热源、高斯旋转体热源和柱状体热源。双椭球热源适用于模拟移动热源(如激光焊、电弧焊),通过调整轴向系数a1和a2来控制热流分布;高斯旋转体热源适合小范围焊接,采用三维高斯函数描述热流密度;柱状体热源则用于深熔焊场景,特点是计算速度快。文中还提供了每种模型的具体代码实现,并强调了调试时需要注意的关键点,如时间步长、网格加密等。此外,作者分享了一些实用技巧,如将热源参数设置为全局变量并利用参数扫描功能提高调试效率。 适合人群:从事焊接工艺仿真、材料加工领域的研究人员和技术人员,以及对COMSOL建模感兴趣的工程技术人员。 使用场景及目标:帮助用户选择合适的热源模型进行焊接模拟,确保模拟结果的准确性;提供具体的代码实现和调试方法,使用户能够快速掌握并应用于实际项目中。 其他说明:文中提到的热源模型不仅限于理论介绍,还包括实际操作中的注意事项和优化建议,有助于提升模拟效果和工作效率。

    基于RBF神经网络的PID控制器在PMSM转速环中的Simulink模型设计与性能分析

    内容概要:本文介绍了将基于RBF神经网络的PID控制器应用于永磁同步电机(PMSM)转速环控制的方法及其性能优势。传统的PID控制器在面对非线性和时变系统时存在参数整定困难的问题,而引入RBF神经网络可以实现实时在线调参,提高系统的灵活性和鲁棒性。文中详细描述了Simulink模型的设计,特别是Matlab s-function模块中RBF神经网络的具体实现,包括高斯函数激活和带惯性的权值更新机制。实验结果显示,在转速突变情况下,改进后的控制器能够迅速稳定系统,超调量控制在2%以内,调节时间较传统方法缩短约40%,并且在负载变化时表现出色,无需重新整定参数。 适合人群:从事电机控制系统研究和开发的技术人员,尤其是对PID控制器优化感兴趣的工程师。 使用场景及目标:适用于需要提升PMSM转速环控制精度和响应速度的应用场合,如工业自动化设备、机器人等领域。目标是通过引入智能算法解决传统PID控制器参数整定难题,提高系统性能。 阅读建议:关注RBF神经网络与PID控制器结合的具体实现细节,特别是在Matlab s-function模块中的编码技巧以及参数调整策略。同时,注意学习率的选择和动量项的作用,这对于实际应用至关重要。

    scratch少儿编程逻辑思维游戏源码-GTA 6.zip

    scratch少儿编程逻辑思维游戏源码-GTA 6.zip

    scratch少儿编程逻辑思维游戏源码-仓鼠跑酷.zip

    scratch少儿编程逻辑思维游戏源码-仓鼠跑酷.zip

    scratch少儿编程逻辑思维游戏源码-超级麦克世界.zip

    scratch少儿编程逻辑思维游戏源码-超级麦克世界.zip

    scratch少儿编程逻辑思维游戏源码-400年.zip

    scratch少儿编程逻辑思维游戏源码-400年.zip

    少儿编程scratch项目源代码文件案例素材-气球足球.zip

    少儿编程scratch项目源代码文件案例素材-气球足球.zip

    少儿编程scratch项目源代码文件案例素材-沙漠迷城.zip

    少儿编程scratch项目源代码文件案例素材-沙漠迷城.zip

    scratch少儿编程逻辑思维游戏源码-比谁高.zip

    scratch少儿编程逻辑思维游戏源码-比谁高.zip

    少儿编程scratch项目源代码文件案例素材-乾坤大挪移.zip

    少儿编程scratch项目源代码文件案例素材-乾坤大挪移.zip

    scratch少儿编程逻辑思维游戏源码-菜鸟跳跃.zip

    scratch少儿编程逻辑思维游戏源码-菜鸟跳跃.zip

Global site tag (gtag.js) - Google Analytics