快速业务通道

Java6 WebService的发布 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19

Java6 WebService的发布

时间:2011-02-07 51cto博客 leizhimin

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的发布(2)

时间:2011-02-07 51cto博客 leizhimin

3、配置web.xml

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee"             

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号