开发和部署一个简单的 JAX-WS2.0 Web 服务

 

开发和部署基于 JAX-WS2.0 Web 服务

概述

JAX-RPC 作为第一代Web 服务,是利用Web 服务部署描述符进行部署。由于不同的Web 服务器使用不同的部署描述符,因此要部署同一个Web 服务到不同的Web 服务器上去,就需要提供不同的部署描述符。这带来了极大的不便。基于 JAX-WS2.0 Web 服务是第二代Web服务,其特点是利用JAVA注解描述Web 服务,而不再使用部署描述符,因而我们就可以开发能部署到不同Web 服务器上的统一的Web 服务。本文开发一个简单的Web 服务,然后重点介绍如何部署到支持JAX-WS2.0Web 服务器上去。当前大部分Web 服务器的新版本已经都支持JAX-WS2.0,如IBM WASBEA WeblogicAxis 等。本文以IBM WAS7.0 Axis2.0 为例描述如何部署基于 JAX-WS2.0 Web 服务。

开发一个简单的基于JAX-WS2.0 Web 服务

一个简单的Web服务:HelloWorld

我们写一个最简单的Web服务:HelloWorld。该Web服务只有一个class文件,其中包含一个直接返回“Hello World !”字符串的hello( ) 方法。代码如下所示:

 

1. HelloWorld源代码

 

 

从代码中可以看到,我们使用了@WebService 注解来标识这个Web服务。JDK 1.6版本开始支持Web Service 注解,因此在编译的时候需要使用JDK1.6。除了@WebService之外,还有几个注解如@WebMethod@WebParam等,其中@WebMethod可以标识需要暴露的某些WebService 方法。由于本例中只有一个hello( ) 方法,因此不需要使用@WebMethod注解。

部署 Web 服务到AXIS2

安装Apache Tomcat和AXIS2

1.  下载并安装apache-tomcat-5.5.26

2.  下载axis2-1.4.1-war.zip 并解压,得到axis2.war,然后拷贝axis2.wartomcat/webapps目录下;

3.  启动tomcat,访问axis2的页面,如下图所示:

 

2. 访问axis2页面

 

 

4.  Services链接,可以看到当前缺省的Web Serives : Version

 

3 缺省部署的Web Serives

 

 

部署Web服务

Axis2支持两种Web服务部署方式:AAR + services.xml部署,和JAR部署。前者是将Web服务打成AAR包,并且利用services.xml部署文件描述该Web服务;后者是利用Web Service 注解部署Web服务。本文使用JAR部署方式,因为该方式不需要额外的部署文件,完全利用Web Service 注解,更能说明Web服务部署的平台(即Web服务器)无关性。

1.  HelloWorld打成一个JAR包:HelloWorld.jar

2.  axis2/WEB-INF 目录下建一个新的目录servicejars并拷贝HelloWorld.jar到该目录,如下图所示:

 

4. 部署HelloWorld之后的目录结构

 

 

3  tomcat的监控窗口中,可以看到HelloWorld被动态解析和部署到了Axis2上:

 

图5. HelloWorld被动态部署到Axis2

 

 

4.  重新访问Axis2页面上的Services 链接,可以看到新的Web服务HelloWorld

 

6. 新的Web服务HelloWorld

 

 

部署 Web 服务到 WAS7

WebSphere 应用服务器 6.1WAS 6.1)的Feature Pack WSFP,引入了对 JAX-WS2.0 的支持。WAS7将该功能作为基本模块之一,不再需要安装Feature Pack

1. 下载WAS7 的试用版 :

           http://www.ibm.com/developerworks/cn/websphere/downloads/

2. 安装WAS7并启动

3. 将开发的HelloWorld打成一个普通的WAR包,其中的web.xml如下所示:

<?xml version="1.0" encoding="UTF-8"?>

<web-app id="WebApp_ID" version="2.5"

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee"

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<display-name>

              MyHelloWS

</display-name>

</web-app>

 

 

4. 通过WAS7Administrative Console 页面部署该应用:

 

7. 部署HelloWorldWAS7

 

 

 

 

5. 安装完毕后,HelloWorld服务被部署到WAS7上,服务名称为HelloWorldService

 

8. HelloWorld部署成功

 

 

 

 

 

6. 通过网页查看该Web服务的wsdl描述,如下所示:

 

9. 查看Web服务的wsdl

 

 

 

7.到此,基于JAX-WS2.0Web服务已经被部署到WAS7

小结

本文通过一个简单的例子,描述如何开发和部署一个基于JAX-WS2.0Web服务。JAX-WS2.0的特性之一就是通过JAVA注解来描述Web服务,而不再需要额外的部署描述文件,从而避免了在不同的Web服务器上需要提供不同的部署描述文件的麻烦。本文以AXIS2WAS7为例,说明了部署一个JAX-WS2.0Web服务的过程。

参考资料

l         Download WAS7 Tutorial Version  下载WAS7 试用版

l         Apache Axis2  Axis2的官方页面

l         JAX-WS 2.0  JSR 224: Java API for XML-Based Web Services (JAX-WS) 2.0

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值