什么是WebServices?

它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问Web Service,通过Web Service内部执行得到所需结果.Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。

关键的技术和规则

在构建和使用Web Service时,主要用到以下几个关键的技术和规则:

   1.XML:描述数据的标准方法.

  2.SOAP:表示信息交换的协议.

  3.WSDL:Web服务描述语言.

   4.UDDI:通用描述、发现与集成,它是一种独立于平台的,基于XML语言的用于在互联网上描述商务的协议。

   XML

可扩展的标记语言(XML)是Web service平台中表示数据的基本格式。除了易于建立和易于分析外,XML主要的优点在于它既是平台无关的,又是厂商无关的。无关性是比技术优越性更重要的:软件厂商是不会选择一个由竞争对手所发明的技术的。

   SOAP

  SOAP是web service的标准通信协议,SOAP为simple object access protocoll的缩写,简单对象访问协议. 它是一种标准化的传输消息的XML消息格式。

   WSDL

   WSDL的全称是web service Description Language,是一种基于XML格式的关于web服务的描述语言。其主要目的在于web service的提供者将自己的web服务的所有相关内容,如所提供的服务的传输方式,服务方法接口,接口参数,服务路径等,生成相应的完全文档,发布给使用者。使用者可以通过这个WSDL文档,创建相应的SOAP请求消息,通过HTTP传递给webservice提供者;web服务在完成服务请求后,将SOAP返回消息传回请求者,服务请求者再根据WSDL文档将SOAP返回消息解析成自己能够理解的内容。

  UDDI

将web service进行UDDI注册发布,UDDI是一种创建注册表服务的规范,以便大家将自己的web service进行注册发布供使用者查找.然而当服务提供者想将自己的web service向全世界公布,以便外部找到其服务时,那么服务提供者可以将自己的web service注册到相应的UDDI商用注册网站,目前全球有IBM等4家UDDI商用注册网站。因为WSDL文件中已经给定了web service的地址URI,外部可以直接通过WSDL提供的URI进行相应的web service调用。所以UDDI并不是一个必需的web service组件,服务方完全可以不进行UDDI的注册。

创建WS项目

clip_image002

菜单栏 –> File –> New –> Web Service Project

clip_image003

新建项目: UserMgrService 在这里,我们使用JAX-WS方式。

JAX-WS

  Jax-WS是Java1.6中才有的,新的WebService模式,基于注解的方式配置WebService,很类似Asp中的WebService,难度已经比Xfire方式的配置降低了很多.

REST(JAX-RS)

用的比较少

  Xfire(已过时)

配置比较繁琐

创建Service中的包及类库,实现自己的业务。

clip_image004

建一个类:

package TSD.jason.Services;

public class UserInfo {

public String GetUserInfo() {

return "中国";

}

}

 

发布WS

clip_image005

发布WS

clip_image007

新建WSDL,我们要从class生成WSDL

clip_image009

添加类:

TSD.jason.Services.UserInfo

配置TomCat

clip_image010

在弹出的窗体中依次展开 MyEclipse ->Servers –>Tomcat

clip_image011

clip_image013

clip_image015

clip_image016

对着项目右击添加库文件

clip_image018

clip_image019

clip_image020

到此,所有步骤都以配置完毕

开始部署

clip_image021

启动TomCat

clip_image022

在工具栏中找到部署图标

clip_image023

clip_image025

clip_image026

打开IE进行测试

http://localhost:8080/UserMgrService/UserInfoPort?wsdl

clip_image027

打开IE进行测试

创建客户端进行测试

clip_image029

UserMgrService_Test

clip_image030

clip_image032

clip_image034

添加URL:

http://localhost:8080/UserMgrService/UserInfoPort?wsdl

clip_image035

此时,项目中将会生成WS所需的类库文件

clip_image037

clip_image038

创建一个调用测试类

clip_image039

package tsd.jason.services;

public class WStest {

/**

* @param args

*/

public static void main(String[] args) {

UserInfoService aa = new UserInfoService();

UserInfoDelegate bb = aa.getUserInfoPort();

System.out.println(bb.getUserInfo());

}

}

 

到此,我们的WS就配置+测试完毕了。

附上源码。

 http://files.cnblogs.com/files/xiaole10368/%E6%90%AD%E5%BB%BAJava%E7%89%88WebService.rar

版权声明:本文为xiaole10368原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xiaole10368/p/5384324.html