Java6 WebService的公布[Java编程]
本文“Java6 WebService的公布[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
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");
}
}
这里将服务公布的代码写在了Servlet的init()办法中,当Servlet加载时刻,会自动履行init()里面的办法.从而到达公布服务的目的,由于此Servlet不处理任何业务,因此,在Service里面仅仅写了一个提醒性的语句.
以上是“Java6 WebService的公布[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |