随笔-61  评论-159  文章-0  trackbacks-0
 在使用JDK6自带的webservice特性之前,项目中接口开发有用到Axis2、XFire、CXF等webservice框架发布通过获取相关的wsdl文件即可实现远程通讯数据交互。
 Axis2配合相关的IDE生成服务并发布到服务器上面相当简单和根据选择其中之一的wsdl引擎生成客户端调用java类,感觉类库jar包比较庞大应用起来也比较复杂。
 XFire是比较强大的webservice框架,容易与web容器整合,以及spring提供整合支持。
CXF是apache收购XFire后改造产物,功能也相当强大。
 使用JDK6自带的webservice特性后,深感部署之简单,真正的轻量级,可以使你集中尽力解决服务端的相关功能设计与实现。
 下面介绍JDK6自带的Webservice特性例子:

  IDE:eclipse3.6+ javaee版
新建一个java工程后,建如下类即可简单实现webservice:

 1import javax.jws.WebService;
 2import javax.xml.ws.Endpoint;
 3
 4@WebService
 5public class HelloWorld {
 6    public String sayHello() 
 7        return "helloworld";
 8        }
 
 9        public static void main(String[] args) 
10        //发布一个WebService 
11        Endpoint.publish("http://localhost:9090/HelloWorld"new HelloWorld()); 
12        }
 
13}

14

启动main方法即可发布一个webservice服务,通过浏览器输入http://localhost:9090/HelloWorld?wsdl即可访问。
注:HelloWorld是一个普通类,只是在类的前面第4行加了注解@WebService,发布是在第11行,http://localhost:9090/HelloWorld是发布服务地址,其中new HelloWorld()是服务类。
     在实际项目开发中可以服务地址从硬编码中抽离处理,写到配置文件或者数据库中方便维护管理,修改地址从前服务即可。
 



-------------------------------------------------------------------------------------------------
PS:本博客文章,如果没有注明是有“转”字样,属于本人原创。如果需要转载,务必注明作者文章的详细出处地址,否则不允许转载,多谢合作!
posted on 2011-05-11 15:48 apple0668 阅读(5107) 评论(6)  编辑  收藏 所属分类: java

评论:
# re: JDK6中JWS自带webservice应用 2011-05-12 09:43 | itwangxinli
看起来挺美,但是客户端呢?而且
Endpoint.publish("http://localhost:9090/HelloWorld", new HelloWorld()); 这个原理能解释下吗?比如输入url,那么他后天用的是什么服务器呢?
客户端怎么访问呢?
期待解答
  回复  更多评论
  
# re: JDK6中JWS自带webservice应用 2011-05-12 13:35 | apple0668
@itwangxinli
JDK6中用到的是JWS方式的webservice,有兴趣看源码。上面有注解就是@Webservice就是引入相关支持。

对服务器没有要求,你可以自己写一个main方法打包或者集成到web上面即可。

客户端访问方式,你可以通过通过浏览器输入http://localhost:9090/HelloWorld?wsdl 得到wsdl文件,通过第三方类库或者工具生成客户端。  回复  更多评论
  
# re: JDK6中JWS自带webservice应用[未登录] 2011-07-04 14:53 | sodarfish
博主您好,请问JDK自带的webservice 性能怎样? 他是自己实现了一个web server么? 谢谢

sodarfish@163.com  回复  更多评论
  
# re: JDK6中JWS自带webservice应用 2011-08-03 21:04 | 老吴
请问有人做过用这个传文件的例子吗?  回复  更多评论
  
# re: JDK6中JWS自带webservice应用[未登录] 2012-02-21 08:59 | a
怎么和SSH整合  回复  更多评论
  
# re: JDK6中JWS自带webservice应用 2013-01-05 17:19 | jiny
确实很简洁啊  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: