首页 > 代码库 > java 搭建webservice服务+test客户端测试

java 搭建webservice服务+test客户端测试

整理别人的日志:

一、什么是webservice

一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中运行,一种新的web应用程序分支,可以发布、定位通过web调用。它是一个应用组件,为其他应用程序提供数据与服务,各应用程序通过网络协议和规定的一些标准数据格式(http、xml、soap)来访问webservice,通过web service内部执行得到所需的结果。

二、关键的技术和一些规则:

1、xml:描述数据的标准方法。

2、soap:表示信息交换的协议。

3、wsdl:web服务描述语言。

4、uddi:通用描述、发现与集成,一种独立于平台的,基于xml语言的用于在网络上描述商务的协议。

XML:

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

soap:

soapweb 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的注册。

创建并发布自己的WEB SERVICE

1、创建一个webservice项目

在这里,在弹出来的信息框中我们使用JAX-WS方式。

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

REST(JAX-RS):用的比较少

    Xfire(已过时): 配置比较繁琐

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

  创建用户管理系统:

如下:创建UserInfo 类。

package xiaoxing.ms.userservice;

public class UserInfo {

    public String GetUserInfo()
    {
	 return "Tracy McGrady";
    }
    
}

发布WebService:如图找到Myeclipse中发布按钮:

接着:

next,然后看到下面的界面】

【提醒注意勾选复选框“Generate WSDL in project”】

找到自己刚开始新建的类文件,然后点击“ok”】

【配置自己的tomcat,这个就不用说了,,,需要说明的是,自己的tomcat 的JDK选择自己系统安装的jdk】

【选中你的项目,然后开始添加库文件】

在弹出的信息框,然后选择如下信息】

启动你配置好的tomcat】

【然后找到Myeclipse的项目部署按钮,开始部署】

按照下面的操作,完成部署】

【以上到此一个简单的服务端配置完成:然后再浏览器中测试一下】

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

出现下面信息,则应该是正常的。

创建客户端,测试】

【1、新建一个java项目】

【2、客户端发布】

3、配置url】

【然后项目中自动生成文件】

最后创建一个test类

package xiaoxing.ms.test;

import xiaoxing.ms.userservice.UserInfoDelegate;
import xiaoxing.ms.userservice.UserInfoService;

public class TestMS {

    public static void main(String[] args) {
	UserInfoService userinfoWS=new UserInfoService();
	UserInfoDelegate userinfoDel=userinfoWS.getUserInfoPort();
	System.out.println(userinfoDel.getUserInfo());
    }
}

如果控制台输出,你在服务端创建时的name,那么应该是Ok的




java 搭建webservice服务+test客户端测试