`
wjm901215
  • 浏览: 154018 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JAX-WS集成Web工程的Web Service的创建和发布简单入门(1)

    博客分类:
  • java
阅读更多

首先, 为了我们这个WS的实验能够顺利的完成,最好能到官网上下载到JAX-WS工具的完整版。下载到的是一个jar文件,需要在Windows命令行下运行jar命令解压安装的,比如我这边有个JAXWS2.1.1_20070501.jar。安装后得到一个目录,其中有个lib下游许多jar文件。bin目录下有几个命令,很有用的,如wsgen和wsimport等,当然,我提过,这两个命令在JDK6中已经有的了。

     现在开始做实验了。

    服务端

    1、新建web项目,将来准备发布到tomcat的。我这里新建的Web项目名为myWS2,目录所在:D:\workspace\myWS2,在这个项目根目录下新建一个文件夹wsdl

    2、为了方便,先导入这些个包吧:jaxws-rt.jar,jaxb-api.jar,jaxb-impl.jar,jaxb-xjc.jar,streambuffer.jar,stax-ex.jar,这些jar包只是运行下面的最简单的实验需要的jar包,实际操作中,如果你需要更多的jar包也是很正常的,这些jar包都是来自JAX-WS。

    3、在Web工程中新建类:

[java] view plaincopy
  1. package leon.ws;  
  2.   
  3. import javax.jws.WebService;  
  4.   
  5. @WebService  
  6. public class Hello {  
  7.     public String sayHello(String name) {  
  8.         return ("Welcome, I am Server. Hello, " + name);  
  9.     }  
  10.   
  11.     public int sum(int a, int b) {  
  12.         return a + b;  
  13.     }  
  14. }  

    OK,非常简单,只有一个@WebService注解,类中的两个方法都没有使用@WebMethod注解,这样其实两个方法都会成为Web Service方法的。

   4、很重要的一步,就是要利用wsgen工具来生成wsdl和服务端辅助类了。打开DOS命令行,进入到服务端web工程的根目录,运行一下命令:

        wsgen -cp D:\workspace\myWS2\WebRoot\WEB-INF\classes leon.ws.Hello -wsdl -s src -r wsdl

       注意:这里的路径非常重要的,如果你的路径不一样一定要改对了。wsgen命令使用的是JDK6里面的,所以要配置好JDK环境变量,如果你用的JDK版本低,没有这工具,需要将下载安装的JAX-WS的bin下面的工具配置到环境变量path下。

      运行成功以后,刷新一下web工程目录下wsdl目录,可以看到两个文件了,一个xsd和一个wsdl,刷新一下src看到产生了jaxws包和4个类,也就是上面的Hello.java中,每个方法对应生成两个类。

   5、在WEB-INF下新建一个sun-jaxws.xml,内容如下:

[html] view plaincopy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <endpoints version="2.0" xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">  
  3.   
  4.   <endpoint name="Hello" implementation="leon.ws.Hello" url-pattern="/HelloService" />  
  5.     
  6. </endpoints>  

     这是定义WS的Endpoint的,实现类与上面定义的Hello.java对应好,两外两个属性name, url-pattern自己定义吧,不过最好合理一点。

 6、修改web.xml配置一个监听器,和一个Servlet将我们的Hello.java及其方法绑定成为Servlet,内容如下:

 

[html] view plaincopy
  1. <listener>  
  2.     <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>  
  3. </listener>  
  4.   
  5. <servlet>  
  6.     <servlet-name>Hello</servlet-name>  
  7.     <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>  
  8.     <load-on-startup>2</load-on-startup>  
  9. </servlet>  
  10.       
  11. <servlet-mapping>  
  12.     <servlet-name>Hello</servlet-name>  
  13.     <url-pattern>/HelloService</url-pattern>  
  14. </servlet-mapping>  

现在工程的目录结构如下:

发布到tomcat,运行,这个服务端Web工程会被tomcat加载。

tomcat启动成功后。浏览器访问:http://10.225.112.86:8888/myWS2/HelloService?wsdl

如果浏览器呈现出wsdl文件内容,就表示发布成功了。服务端完成。

说明:我这里的tomcat是在本机的局域网IP上启动的,所以访问的地址也是IP来的,如果你的使用localhost也是可以的,没问题。

 客户端:

服务端的代码如何组织创建,可以参考我的另一篇文章:“JAX-WS一个很简单的RPC风格的Web Service同步调用

因为我们已经能访问到服务端的wsdl文件,所以客户端就可以有各种途径来访问服务端WS了。

分享到:
评论

相关推荐

    jax-ws webservice简单demo

    在这个"jax-ws webservice简单demo"中,我们将探讨JAX-WS的基础知识、如何创建一个简单的Web服务以及如何测试这个服务。 首先,JAX-WS的核心组件包括: 1. **Service端点接口(SEI, Service Endpoint Interface)**...

    JAX-WS Five Minute Tutorial 源码

    Java API for XML Web Services (JAX-WS) 是Java平台上的一个标准组件,用于构建和消费Web服务。它提供了一种简单、类型安全的方式来创建和访问基于SOAP的消息传递应用程序。本教程将深入探讨JAX-WS的核心概念,以及...

    使用JAX-WS开发WebService入门教程.pdf

    ### 使用JAX-WS开发WebService入门教程 #### 一、准备工作 在开始使用JAX-WS开发WebService之前,首先需要确保开发环境满足以下条件: 1. **Java版本**:需要安装Java SE 1.5或更高版本。这是因为JAX-WS自Java SE...

    CursoWebServices:Curso Java Web服务JAX-WS JAX-RS

    2. JAX-WS入门:介绍如何使用JAX-WS创建SOAP服务,包括服务端点接口、消息处理和部署描述符的配置。 3. JAX-WS高级特性:探讨服务端点实现、异常处理、消息传递模式和WS-Security等进阶话题。 4. JAX-RS基础:学习...

    web service入门学习笔记

    Web Service入门学习笔记 Web Service是一种基于互联网的、平台无关的通信协议,它允许不同系统间的应用程序通过网络互相调用,实现数据交换和服务共享。在本文中,我们将深入探讨Web Service的基本概念,以及如何...

    apache-cxf-2.4.0(Web Service代码生成

    CXF允许开发者以编程方式或者基于XML的配置来创建服务,使得开发Web服务变得更加简单。此外,CXF还支持JAX-RS和JAX-WS规范,分别用于构建RESTful和SOAP服务。 **2.4.0版本特性** 在Apache CXF 2.4.0版本中,主要...

    java webService 中文与英文教程

    2. JAX-WS入门:讲解如何使用JAX-WS创建一个简单的Web服务和客户端,包括服务端点接口(SEI)、服务实现、WSDL生成等。 3. 消息处理:介绍消息模式,如RPC/encoded、RPC/literal和Document/literal。 4. 异常处理:...

    cfx web service

    **cfx Web Service详解** Web服务是一种通过网络(通常是互联网)进行通信的软件系统,它允许不同的应用程序之间交换...通过学习和实践,开发者可以利用CXF快速构建高性能、安全的Web服务,并与其他系统进行无缝集成。

    Webservice入门教程_用JDK开发Webservice示例代码

    2. **JAX-WS**:在Java世界中,JAX-WS(Java API for XML Web Services)是用于创建和消费Web服务的标准API。它简化了开发过程,提供了从Java类到WSDL的自动生成,以及从WSDL到Java类的反向生成。 3. **创建...

    WebService视频教程大全

    它提供了多种方式来创建和消费WebService,包括基于Java API for XML Web Services (JAX-WS) 和Java API for RESTful Web Services (JAX-RS)。CXF不仅支持SOAP协议,还支持RESTful风格的服务,使得开发者可以根据...

    Web Service入门经典

    【Web Service 入门经典】 Web Service 是一种基于开放标准的、跨平台的通信机制,旨在促进不同系统之间的互操作性。它利用 XML(可扩展标记语言)作为数据交换的基础,使得不同操作系统、编程语言和应用程序能够...

    CXF入门.rar

    它提供了强大的服务端和客户端API,支持SOAP、RESTful、WS-*等标准,使得开发者能够轻松地创建、发布和调用Web服务。 在【CXF与Spring集成】中,Spring框架是Java应用开发的基石,提供依赖注入(DI)和面向切面编程...

    JDK6开发WebService及用户认证

    总结,JDK6为开发WebService提供了基础支持,通过JAX-WS可以方便地创建、发布和消费服务。同时,结合不同的认证机制,可以确保服务的安全性。不过,随着技术的发展,JDK6的某些功能已被更新版本替代,比如JDK8和更高...

    cxf的小列子

    它提供了多种方式来创建和消费Web服务,包括基于Java API for Web Services (JAX-WS) 和 Java API for RESTful Web Services (JAX-RS) 的接口。这个“cxf的小列子”是一个入门级的学习资源,旨在帮助初学者快速理解...

    webservice入门教程

    1. "web+service入门教程ppt":这份PPT资料将深入浅出地介绍Web服务的基本概念,实例演示创建和使用Web服务的过程,对初学者非常友好。 2. 在线教程和文档:如官方API文档、Stack Overflow、W3School等网站提供的Web...

    Web Service修炼之一XFire入门3

    【标题】"Web Service修炼之一XFire入门3" 在Web服务的世界中,XFire是一个曾经广泛应用的开源框架,它使得开发、部署和消费Web服务变得简单。本篇内容将聚焦于XFire的基础知识,帮助初学者理解如何使用XFire进行...

    web+service入门教程

    这个“Web+Service入门教程”PPT旨在为初学者提供一个全面了解和掌握Web服务的基础。 1. **Web服务的概念** Web服务是一种基于互联网的软件系统,它使用开放的、标准化的协议(如XML、SOAP、WSDL和UDDI)来交换...

    基于Web Service的3G手机应用开发入门讲座

    - 开发语言:Java、C#、Python等,通常使用支持Web Service调用的库或框架,如Java的JAX-WS,.NET的ASMX或WCF。 - 开发环境:Eclipse、Visual Studio等,配备相应的插件支持Web Service开发。 - 测试工具:SoapUI...

    apt.rar

    1. **JAX-WS(Java API for XML Web Services)**:Java 6引入了JAX-WS,它是创建和消费Web服务的主要API。它简化了SOAP(Simple Object Access Protocol)消息的处理,使得开发者可以专注于业务逻辑而不是底层通信...

Global site tag (gtag.js) - Google Analytics