JAX-WS之旅(一)
——作者:Angel
目录
1. 什么是WebService. 1
2. 为什么需要WebService. 2
3. 主流WebService框架... 2
4. 利用JAX-WS开发Web服务... 2
1. 什么是WebService
Web Service 是有企业发布的完成其特定商务需求的在线应用服务,其他公司或者应用软件可以能够通过Internet来访问这项在线服务。
更多资源访问:http://baike.baidu.com/view/837392.htm
2. 为什么需要WebService
我们知道如果我们要把一个桌面程序发布成web程序的话,在以前并不是一件很简单的事情,当然在最早的时候有一项分布式开发技术RMI技术就实现了桌面程序web化。现在使用WebService就能够很简单的解决这个问题。其次使用WebService能够让两门语言进行通信,也就是说,你可以服务端是Java语言,而客户端是其他语言,比如Rubby语言。
当然以上只是简单的说明,如果要连接更多的webService还需要您自己细心的体会。
3. 主流WebService框架
Axis2——全称Apache EXtensible Interaction System 即阿帕奇可扩展交互系统。
JAX-WS——Java API for XML Web Services (JAX-WS)是Java程序设计语言一个用来创建Web服务的API。
等等。
更多资源:http://wenku.baidu.com/view/5d0ceef5f61fb7360b4c65c9.html
4. 利用JAX-WS开发Web服务
接下来将以一个实例讲解JAX-WS。
在讲解之前我们大体了解下要开发一个JAX-WS的步骤:
(1)编写能够发布成webservice的接口
(2)实现接口,并指定客户端访问的WSDL(Web Service Description Language)服务名
(3)发布服务
(4)编写客户端访问
第一步:启动工具
打开开发工具Eclipse,这一步对于编程人员都是very easy的一件事件,直接过。
第二步:新建工程(演示工程名为WebService)
新建一个 Java Project.相信能够学习WebService这项技术的人,这个应该不是问题。为了照顾一些部分家人,我们还是稍微讲讲,会的家人这步可以跳过。
【菜单栏】--【File】--【New】--【Project】--【Java Project】
--【Next】输入【Project name】--【Finish】。
这样我们就创建了一个工程。
图示:
第三步:建包(演示包为webservice)
在刚才建立的工程建立包结构。
操作如下:
点击工程src目录【右键】--【New】--【package】--【输入包名】--【Finish】。
第四步:新建接口(演示接口名为IMyServer)
在刚才建立的包下新建一个接口。
代码如下:
package webservice;
import javax.jws.WebService;
/**
* 接口类
* @author Administrator
*
*/
@WebService //此代码说明该接口可以进行Web化
public interface IMyServer {
/**
* 在接口里有一个获取作者姓名的方法
* @param name:姓名
* @return:String
*/
public String getMyName(String name);
}
注:此接口和我们平时写接口是一样的,只是增加了一条
@WebService这样的代码,这条代码的主要作用是允许我们这个接口交给WebService进行管理。
第五步:实现接口(演示实现类名为MyServerImpl)
让我们写一个实现我们刚才接口的类,写法和我们平时的大差不差。
代码如下:
package webservice;
import javax.jws.WebService;
//以下这句代码的作用是:定义客户端访问的WSDL服务名
@WebService(endpointInterface = "webservice.IMyServer")
public class MyServerImpl implements IMyServer{
@Override
public String getMyName(String name) {
// TODO Auto-generated method stub
System.out.println("Called by the client");
return "Hello,"+name+",I'm happy to learn webservice with you.";
}
}
注意:这个实现类比一般实现类多了以下代码:
@WebService(endpointInterface = "webservice.IMyServer")
这句代码作用是:定义客户端访问的WSDL服务名
webservice是包名,IMyServer是接口。
现在的文件目录结构如下:
第六步:发布服务(演示名为:PublishServer)
我们需要将我们的类进行发布。
代码如下:
package webservice;
import javax.xml.ws.Endpoint;
/**
* 此类的作用是:发布我们要让客户端访问的类
* @author Administrator
*
*/
public class PublishServer {
/**
* 启动程序
* @param args
*/
public static void main(String[] args) {
/*
* 参数说明:
* 第一个参数http:127.0.0.1:2011
* 这是url地址,需要指定端口
*
* 第二个参数 new MyServerImpl()
* 这个就是我们要让客户端访问的实现类
*不能是接口(嘎嘎,接口也不允许 new呀。)
*/
Endpoint.publish("http://127.0.0.1:2011/myweb", new MyServerImpl());
System.out.println("The Server is started.");
}
}
文件目录结构图:
让我们运行PublishServer
运行成功之后控制台显示:
这表示发布成功了,我们可以打开浏览器进行访问(因为是web,所以网页当然能访问了,嘎嘎)
【打开浏览器】--在地址栏输入
【http://127.0.0.1:2011/myweb?wsdl】
效果图:
至此说明以上操作基本上是没有问题了。
第七步:编写客户端程序(演示名为MyClient)
用浏览器访问并不是我们的最终目的,我们是希望通过Java代码去访问服务器。那么接下来让我们编写一下客户端程序。
代码如下:
package webservice;
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
public class MyClient {
/**
* 启动程序
* @param args
* @throws MalformedURLException
*/
public static void main(String[] args) throws MalformedURLException {
//服务URL
URL url = new URL("http://127.0.0.1:2011/myweb");
/*
* 参数说明:
* 第一参数: http://webservice/
* 服务的URI
*
* 第二个参数:MyServerImplService
* 在WSDL发布的服务名,这个名称是你的 实现类 连接上 Service
*
*/
QName qname = new QName("http://webservice/","MyServerImplService");
//创建服务
Service service = Service.create(url, qname);
//提取服务端口
IMyServer myServer = service.getPort(IMyServer.class);
//调用方法
System.out.println(myServer.getMyName("林祥纤"));
}
}
文件目录结构:
运行MyClient:
Dos窗口显示接口:
注意:服务端不可关闭。
伸伸懒腰,终于可以闭灯休息了。
先告一小段落吧。
源码附上
- 大小: 13.3 KB
- 大小: 51.1 KB
分享到:
相关推荐
**JAX-WS之旅(二)** 在JAX-WS之旅的第二部分中,我们将深入探讨这个Java API for XML Web Services的核心概念和技术细节。JAX-WS是Java平台上的一个标准,用于创建和消费Web服务,它使得开发人员能够轻松地实现...
原来的jax-ws不知道为什么总是不成功,最后放弃,换成这个。具体过程可以参考官网:http://docs.spring.io/spring-ws/site/reference/html/tutorial.html
Java与SOAP(Simple Object Access Protocol)以及Web服务的结合是一种常见的技术栈,用于构建分布式系统。本教程将深入探讨如何使用...希望这个概述能帮助你开始你的SOAP Web服务之旅,并在Java开发中取得更大的成就。
Java Web服务(Web Service)是一种基于开放标准的、平台无关的通信协议,它允许不同的应用程序在互联网上交换数据。这个教程“Java WebService教程”...记得打开`doc`目录下的`index.html`文件,开始你的学习之旅吧!
Java Web Service教程是针对使用Java技术构建网络服务的详尽指南。Web服务是一种通过互联网交换数据的方式,允许不同系统之间进行通信。...准备好探索这个强大的技术领域,开启你的Web服务开发之旅吧!
Apache CXF 是一个开源的Java框架,主要用于构建和开发Web服务。这个"apache-cxf-3.3.1"版本是该框架的一个发行...下载并解压这个压缩包后,用户将获得完整的CXF库、文档以及示例,从而能够开始他们的Web服务开发之旅。
Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)和Web服务。这个资源包包含了CXF 2.4.10版本的...通过这个2.4.10版本的资源包,你可以开始你的Web服务探索之旅,体验CXF带来的高效和便捷。
本篇文章将带你逐步了解如何在Tomcat服务器上安装和配置Axis,以便开始你的Web服务开发之旅。 **第一部分:安装Axis** 1. **下载Axis**:首先,你需要从Apache官方网站(http://ws.apache.org/axis/)下载Axis的...
通过上述步骤,你可以逐步建立起对Web服务的全面认识,并开始你的Web服务开发之旅。随着技能的提升,你还可以进一步学习安全性、事务处理、性能优化等相关主题,以适应更复杂的企业级应用需求。
【WebService入门精选视频教程day1(极详细)】 在IT行业中,WebService是一种广泛使用的标准,用于构建可互操作的Web应用程序。它允许不同系统、不同平台...记得持续关注并下载第二天的视频,以便继续你的学习之旅。