JavaEE5 Jax-ws 学习

JavaEE 5 相比 j2ee 1.4有了很大的改进,最大的是减少 XML繁杂的配置,增加了JavaSE 5.0 中 Annotation, EJB ,WebServices 都简化了不少.

我们使用JAX-WS建立一个简单的 WEB 服务 ,建立业务逻辑代码 ,就是暴露给客户的 服务的代码.

到这里下载 JAX-WS 2.0的 包: https://jax-ws.dev.java.net/

  1. package com.birds.ws;
  2. import javax.jws.WebMethod;
  3. import javax.jws.WebService;
  4. /**
  5.  * @author birds
  6.  * @since Nov 27, 2008 9:20:16 PM
  7.  */
  8. @WebService
  9. public class HelloQuick {
  10.     public HelloQuick() {
  11.     }
  12.     @WebMethod
  13.     public String show() {
  14.         return "SHOW YOU!";
  15.     }
  16. }
  17. // 上面的代码,足够简单, 在HelloQuick类上面 ,有一个 Annotation修饰 @WebService
  18. 这个修饰必须是 javax.jws.WebService ,  javax.jws.WebServiceProvider 其中一个,
  19. 默认构造函数必须有一个。
  20. 业务方法 show() 函数上面有一个 @WebMethod修饰,,如果这个函数有参数,就需要增加参数的修饰
  21. 比方说: show(@WebParam(name = "msg") String msg){}  多了一个参数
  22. 知道更多的细节,参考 jax-ws的文档,

       建立环境 : 这里使用 Tomcat 6.0

       需要编写 配置 webapps/jaxws2/WEB-INF/Web.xml

      

  1. xml version="1.0" encoding="UTF-8"?>
  2. <web-app version="2.5" 
  3.     xmlns="http://java.sun.com/xml/ns/javaee" 
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
  6.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  7.   <listener>
  8.      <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListenerlistener-class>
  9.   listener>
  10.   
  11.   <servlet>
  12.      <servlet-name>fishservlet-name>
  13.      <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServletservlet-class>
  14.   servlet>
  15.   
  16.   <servlet-mapping>
  17.      <servlet-name>fishservlet-name>
  18.      <url-pattern>/quickurl-pattern>
  19.   servlet-mapping>
  20.     
  21.   <welcome-file-list>
  22.     <welcome-file>index.jspwelcome-file>
  23.   welcome-file-list>
  24. web-app>

             WSServletContextListener ,和 WSServlet 都是 系统运行需要的配置,

             还需要建立一个 sun-jaxws.xml 

            

  1. xml version="1.0" encoding="UTF-8"?>
  2. <endpoints xmlns='http://java.sun.com/xml/ns/jax-ws/ri/runtime'
  3.     version='2.0'>
  4.     <endpoint name='fish' implementation='com.birds.ws.HelloQuick'
  5.         url-pattern='/quick' />
  6. endpoints>

你可能感兴趣的:(javaee,webservice,soap,parameters,classloader,tomcat,J2EE)