java调用webservice
点击上方蓝色文字关注我们吧
WebService是什么
Web services 是建立可互操作的分布式应用程序的新平台 ,表面上看Web service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。
什么时候使用WebService
企业里经常都要把用不同语言写成的、在不同平台上运行、不同软件厂商生产的各种软件需要集成起来,各个程序之间需要互相通信,获取或发送数据,根据WebService的跨平台、跨语言、可远程调用的特性、通过WebService可以很容易的集成不同结构的应用程序。比如我们在项目实施过程中遇到的PDM系统与MES系统之间传递物料等信息,PDM系统和ERP系统传递工时等信息时就可以使用WebService为各个程序提供集成API。
WebService开发框架
开发webservice应用程序中离不开框架的支持, 框架有很多种,比如Axis 、Axis2、CXF、XFire等。Axis与XFire已随着技术不断的更替,都已不再更新,当前以axis2与cxf最为常用,也只有axis2和cxf官方有更新。
Axis2:
Axis2是Apache下的一个重量级WebService框架,准确说它是一个Web Services / SOAP / WSDL 的引擎,是WebService框架的集大成者,它能不但能制作和发布WebService,而且可以生成Java和其他语言版WebService客户端和服务端代码。这是它的优势所在。但是,这也不可避免的导致了Axis2的复杂性,使用过的开发者都知道,它所依赖的包数量和大小都是很惊人的,打包部署发布都比较麻烦,不能很好的与现有应用整合为一体。但是如果你要开发Java之外别的语言客户端,Axis2提供的丰富工具将是你不二的选择。
CXF:
CXF 框架是一种基于 Servlet 技术的 SOA 应用开发框架,要正常运行基于 CXF 应用框架开发的企业应用,除了 CXF 框架本身之外,还需要 JDK 和 Servlet 容器的支持。CXF不但是一个优秀的Web Services / SOAP / WSDL 引擎,也是一个不错的ESB总线,为SOA的实施提供了一种选择方案,当然他不是最好的,它仅仅实现了SOA架构的一部分。CXF更注重开发人员的工效(ergonomics)和嵌入能力(embeddability)。大多数都可以通过配置API来完成,替代了比较繁琐的XML配置文件, Spring的集成性经常的被提及,CXF支持Spring2.0和CXF’s API和Spring的配置文件可以非常好的对应。
这些框架都有自己的使用范围和实用性,根据企业实际情况,结合框架特性选择合适的框架能事半功倍。简单来说,如果你需要多语言的支持,应该选择AXIS2。如果你需要把你的实现侧重和Spring集成,CXF就是更好的选择。
WebService开发
WebService开发分为服务端开发和客户端开发;
WebService服务端开发
1. 创建Web工程
2. 配置web.xml
3. 引入jar包
4. 创建service.xml文件
5. 写服务端代码
实现类
6. 编写service.xml文件内容
7. 用tomcat发布服务
如下图表示服务发布成功。
WebService客户端开发
当服务调用方获取服务端的wsdl后,可以用RPC方式,也可以用wsdl2java工具生成客户端代码方式等访问服务。
RPC方式:
集成测试结果
专注军工智能 鼎力中国制造
图文 | 来源于 PLM产品线
PLM技术顾问 解改月
长按二维码识别关注