服务开发方案

来源:互联网 发布:网络第一红人是谁 编辑:程序博客网 时间:2024/05/02 01:54

Java下三种服务开发方案:

注:下面所列的工具版本号,为我练习时所用的,可能和文章中使用的不一致。

1、eclipse3.4+wtp3.0+Axis2 1.3===>web服务(JAX-WS)
Eclipse Apache Axis2集成
http://bldmickey.blog.sohu.com/59887565.html

飞马注:

1)本文虽然要求安装STP,但我觉得本文的练习内容没用到STP,其实本文就是用Axis插件开发Web服务。

2)本文用工具TCPMon来测试Web服务。TCPMon本身并不是Axis的一部分,它可将对一个端口的访问转发给另一个端口,并记录相关消息,对于调试Web服务很有用。

3)本文提到rampart,可通过rampart实现WS-Security功能。rampart的安装方法很简单,只需要把相应的类库拷贝到Axis即可。由于Axis即可以是单独的Web服务器也可以整合到Tomcat中,相应的,rampart的安装也有两种方法。

4)Axis2和插件都要用1.3 版,要确保两者版本一致。我用1.2 版时,无法生成代码。

2、eclipse3.4+stp20080109+CXF2.1===>web服务(JAX-WS)
使用 Eclipse SOA Tools Platform 插件构建和部署 Web 服务:
https://www6.software.ibm.com/developerworks/cn/education/opensource/os-eclipse-soatp/section3.html

Eclipse Apache CXF 集成:http://bldmickey.blog.sohu.com/61111724.html

飞马注:

1)这两篇文章所讲内容类似,可互为补充。

2)不要用CXF2.0,应用CXF2.1,否则无法生成WSDL文件。不过我用CXF2.1,还是无法自动生成WSDL文件(保存即生成),可以用菜单项生成。请高人指点。

3)由于我用的STP版本和CXF版本比文章中的要新,部分操作与文中所述存在不同,如下。

  • 建工程时,需要指定一个interface文件,才能Finish,感觉是个Bug。
  • 选中工程,右击,选择“generate WSDL”,生成WSDL。
  • 选中工程,右击,选择“generate code”,生成代码。
  • 生成的代码比文中所述简单,少了几个类。
  • 选中WSDL文件,右击,选择“build packge...”生成War包。
  • 选中WSDL文件,右击,选择“deploy”部署。

4)文2提到建一个Deployment工程来部署服务。也可以不建此工程,用3)中的方法即可。建这样一个工程,可以集中管理多个服务的部属。

5)如果只是测试服务,没必要deploy到Tomcat。等服务测试没问题需要发布时,再deploy到Tomcat。因为STP使用独立的CXF服务器,可在其上面测试。

6)用REST方法测试时,对于square方法,记得将参数名改为value。生成的代码与原文有差别所致。

7)用客户端测试时,squareRoot方法报错,其前面方法正常,原因不明。

3、eclipse3.4+stp20080109+tuscany1.0===>java RMI服务(SCA)
使用 Eclipse SOA Tools Platform 插件和 Apache Tuscany
http://www6.software.ibm.com/developerworks/cn/education/opensource/os-eclipse-soatptuscany/section3.html

1)本文给的源代码有点小问题,在该用answers数组的地方用了questions数组。代码逻辑上的问题,不影响服务的开发和部署。在客户端答题时,即使答案正确,仍会提示答案不对。

2)本文没有介绍如何将服务部署到Tomat。我尚在探索中。

 

 

原创粉丝点击