java 搭建webservice服务+testclient測试

简介:

整理别人的日志:

一、什么是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中公布button:

接着:

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

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

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

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

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

在弹出的信息框。然后选择例如以下信息】

启动你配置好的tomcat】

【然后找到Myeclipse的项目部署button,開始部署】

依照以下的操作。完毕部署】

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

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

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

创建client,測试】

【1、新建一个java项目】

【2、client公布】

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的





本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5357721.html,如需转载请自行联系原作者 

相关文章
|
2月前
|
Java 编译器
Java注解案例-简单测试框架
Java注解案例-简单测试框架
23 0
|
22小时前
|
Java Unix 应用服务中间件
使用java service wrapper把windows flume做成服务
使用java service wrapper把windows flume做成服务
|
1天前
|
IDE Java 测试技术
使用Java进行单元测试:实践与技巧
使用Java进行单元测试:实践与技巧
|
1月前
|
存储 前端开发 JavaScript
基于Java的大型商场综合服务平台系统设计与实现
基于Java的大型商场综合服务平台系统设计与实现
|
1月前
|
Java 测试技术 API
【Java技术深入解析】「核心技术提升」最流行的Java模拟框架Mockito入门指南(Java单元测试)
还在使用 Mockito 1.x?看看 Mockito 2 有哪些新功能!Mockito 3 没有引入任何破坏性的 API 变动,但现在需要 Java 8 而不是 Mockito 2 的 Java 6。 Mockito 4 删除了过时的 API。Mockito 5 将默认 mockmaker 改为 mockito-inline,现在需要 Java 11。一次只支持一个主要版本,而且不会向旧版本回传更改内容。
45 0
【Java技术深入解析】「核心技术提升」最流行的Java模拟框架Mockito入门指南(Java单元测试)
|
1月前
|
XML 存储 JSON
Java其他: 什么是RESTful Web服务?
Java其他: 什么是RESTful Web服务?
25 0
|
2月前
|
Oracle 关系型数据库 大数据
助力工业物联网,工业大数据之服务域:Shell调度测试【三十三】
助力工业物联网,工业大数据之服务域:Shell调度测试【三十三】
17 1
|
2月前
|
NoSQL Java API
SpringBoot【ElasticSearch集成 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成(依赖+配置+增删改查测试源码)推荐使用
SpringBoot【ElasticSearch集成 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成(依赖+配置+增删改查测试源码)推荐使用
38 0
|
2月前
|
SQL Java 数据库连接
【Java调试】通过SqlSessionFactory类对象获取mapper文件内的动态SQL在执行时的完整SQL及参数(2种使用方法+测试Demo及结果)
【Java调试】通过SqlSessionFactory类对象获取mapper文件内的动态SQL在执行时的完整SQL及参数(2种使用方法+测试Demo及结果)
39 0
|
2月前
|
算法 Java Linux
Java【代码分享 07】Java执行Python代码的3类5种情况测试(Java源码+Python源码举例)
Java【代码分享 07】Java执行Python代码的3类5种情况测试(Java源码+Python源码举例)
31 0

相关产品

  • 云迁移中心