WEB开发网
开发学院软件开发Java Java6 WebService的发布 阅读

Java6 WebService的发布

 2009-12-02 00:00:00 来源:WEB开发网   
核心提示:WebService服务发布往往比较混乱,Axis2的发布形式与XFire发布方式差别很大,Java6 WebService的发布,而Java6 Web服务的发布与Axis2、XFire的Web服务的发布方式也有着天壤之别,它们之间没有经验可以借鉴,为了通用性,最好选择GenericServlet来继承packagel

WebService服务发布往往比较混乱,Axis2的发布形式与XFire发布方式差别很大,而Java6 Web服务的发布与Axis2、XFire的Web服务的发布方式也有着天壤之别,它们之间没有经验可以借鉴。

因此,很有必要钻研下Java6的Web服务的发布方式。

从前面两篇文章可以看出Java6对WebService的发布提供了API级别的直接支持,发布只需要一行代码就搞定了。但是作为一个服务,就需要启动,总不能每次启动都去运行一个Main方法来启动吧。

实际中Web服务的发布常常伴随着Web容器的启动而发布,而在Java6中,我们没法直接像Axis2和XFire那样直接去发布,但是可以通过变通的方法,通过Servlet来和容器绑定起来,在容器启动的时候发布服务。

下面以Tomcat为例,来实现Java6 Web服务的发布。

1、开发WebService服务

package lavasoft.server; 
import javax.jws.WebService; 
/** 
* Java6开发的WebService服务端 
* 
* @author leizhimin 2009-11-16 10:24:13 
*/ 
@WebService 
public class Java6WS { 
        /** 
         * Web服务中的业务方法 
         * 
         * @return 一个字符串 
         */ 
        public String doSomething(String username) { 
                return username + " is doing something!"; 
        } 
}

2、开发发布服务的Servlet,为了通用性,最好选择GenericServlet来继承

package lavasoft.servlet; 
import lavasoft.server.Java6WS; 
import javax.servlet.*; 
import javax.xml.ws.Endpoint; 
import java.io.IOException; 
/** 
* 发布Java6 WebService的Servlet, 
* 
* @author leizhimin 2009-11-16 13:52:49 
*/ 
public class WSServlet extends GenericServlet { 
        @Override 
        public void init(ServletConfig servletConfig) throws ServletException { 
                super.init(servletConfig); 
                System.out.println("准备启动WebService服务:http://192.168.14.117:8888/java6ws/Java6WS"); 
                //发布一个WebService 
                Endpoint.publish("http://192.168.14.117:8888/java6ws/Java6WS", new Java6WS()); 
                System.out.println("已成功启动WebService服务:http://192.168.14.117:8888/java6ws/Java6WS"); 
        } 
        public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { 
                System.out.println("此Servlet不处理任何业务逻辑,仅仅yonglai发布一个Web服务:http://192.168.14.117:8888/java6ws/Java6WS"); 
        } 
}

1 2 3  下一页

Tags:Java WebService 发布

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接