• 《SOA思想、技术与系统集成应用详解》读书笔记二Java Web服务


          读书笔记一中说了SOA只是一种思想,是一种虚拟的架构,不同的厂商有不同程度的支持和实现。原则上SOA的实现不依赖于任何服务组件,因为它可以随意绑定EJB、Web Service、JMS等任何形式发布在网上的服务组件。但是就是由于Web Service的成熟才为SOA的实施打下了基础,才促进了SOA的发展,所以目前SOA的构成元素服务组件主要还是指Web Service-Web服务。

          Web服务的介绍很多,不在细说。大意就是发布在网上能供用户发现、并调用的有一定独立功能的组件,传输协议为SOAP,WSDL用来描述服务的接口、协议和位置。服务提供者注册WSDL,客户发现、分析WSDL,从而调用相应的Web服务。

          下面主要介绍如何开发、发布、调用Web服务。

          环境搭建:

          1。Axis2是Apache新推出的web服务模型,将会取代Axis。下载地址http://ws.apache.org/axis2/,下载Axis2 1.5.1二进制版。解压缩即可。如D:/Program Files/axis2-1.5.1

          2。eclipse,用j2ee eclipse 3.5 galileo版。打开eclipse,选择window-preferences-Web Services-Axis2 Preferences,选择标签Axis2 Runtime,在Axis2 runtime location处浏览到axis2的安装路径,即D:/Program Files/axis2-1.5.1。点击OK即可。

          有图有真相:

         

           3。安装tomcat,如C:/Program Files/Apache Software Foundation/Tomcat 6.0。eclipse-window-preferences-server-runtime enviroments,选择add-apache-apache tomcat v6.0-next,选择tomcat installation directory,浏览到安装目录如C:/Program Files/Apache Software Foundation/Tomcat 6.0,选择jre-jdk1.6.0_01,即你机子上已安装的java开发环境。最后点击finish即可。

           eclipse的开发环境到此搭建完成,下面进行例子开发。

           1。eclipse-file-new-dynamic web project,新建项目名WebServiceAxis2,选择Target runtime:Apache Tomcat v6.0,如果没有,新建应用服务器。点击configuration项目中点击modify,选中Axis2 Web Services,点击OK。点击finish即可。得到如下的项目结构:

          

          如此运行下去肯定会有错误,我就先剧透吧。给出解决办法

          a. 打开web.xml,更改  为 。在eclipse的project explorer下打开项目的结构:WebServiceAxis2-WebContent-WEBINF-classes-org-apache-axis2-webapp,就会发现AxisAdminServlet类在此路径下,而org.apache.axis2.transport.http包下并不能找到AxisAdminServlet。

          b. 到axis2安装目录下的lib中拷贝httpcore-4.0.jar包到项目的WEB-INF的lib中。

          2。在src下新建rpcclient包和service包,在service包中新建类HelloService.java,代码如下

                

           3。发布服务HelloService,对外公布方法接口getHello。选择HelloService.java,点右键,new-other-Web Services-Web Service-next,弹出web sevice配置窗口,选中publish the web service。最后结果如下图:

               

                另外要注意,web service runtime为apache axis2,如果不是,点击修改。一路点击next,最后选择start server,点击finish完成。

                打开浏览器输入网址:http://localhost:8080/WebServiceAxis2/axis2-web/,点击services,出现如下图示:

               

              

             则表明服务HelloService发布成功!点击HelloService则可以看到系统为该服务自动生成的WSDL描述文件:

             

             4。创建客户端调用程序。在rpcclient包中新建类HelloRPCClient.java

                 

                 点击HelloRPCClient,右键,run as-java application,控制台出现helloaihu! This is AXIS2 Web Service Response。则表示客户端调用服务HelloService成功。

          至此web服务的发布和调用,我们已经学习完了。注意在查看服务发布是否成功以及调用服务的时候,请确保服务器Tomcat已经启动。最后看下项目结构如下:

         

  • 相关阅读:
    [转]Centos 查看端口占用情况和开启端口命令
    [转]简单美观的文字标签云组件
    [转]scp、sftp命令使用
    清华大学《C++语言程序设计基础》线上课程笔记03---数据的共享和保护&数组
    清华大学《C++语言程序设计基础》线上课程笔记02---类与对象
    清华大学《C++语言程序设计基础》线上课程笔记01---基础概念与一些注意事项
    新的玩具:Windows上的awesome
    环境变量ANDROID_SDK_HOME的作用
    Android Dalvik和JVM的区别
    是否使用TDD(测试驱动开发)进行UI开发
  • 原文地址:https://www.cnblogs.com/whuqin/p/4982133.html
Copyright © 2020-2023  润新知