`

基于AXIS的web service项目环境搭建

阅读更多

一.Web服务

Web服务是一种新型的Web应用程序。不同于其他Web应用程序,它是自适应、自我描述、模块化的应用程序,并可以跨越Web进行发布、定位以及调用。简单的Web服务可以提供例如天气预报或者航班信息的服务。一旦部署了Web服务,其他的应用程序就可以发现和调用所部署的服务。

 

二.AXIS项目

AXIS是开发web service的基础框架,来自Apache开放源代码组织。AXIS是基于JAVA语言的最新的 SOAP 规范(SOAP 1.2)和 SOAP with Attachments 规范(来自 Apache Group )的开放源代码实现。有很多流行的开发工具都使用AXIS作为其实现支持Web服务的功能,例如JBuilder以及Eclipse WTP等。目前版本是2.0。本文使用的版本是1.4。

 

三.环境搭建

1. 安装JDK1.4.1

2. 安装Tomcat 5.5.27

3. 下载Eclipse wtp-all-in-one-sdk,(地址:http://www.eclipse.org/downloads/download.php?file=/webtools/downloads/drops/R2.0/R-2.0-200706260303/wtp-all-in-one-sdk-R-2.0-200706260303-win32.zip,并解压到本地。

 

四.Web service服务程序开发

1.     运行Eclipse WTP工具,选择菜单【File】->【new】->【project】 弹出new project对话框

    

 

选择【Dynamic Web Project】点击下一步

2.     在new Dynamic Web Project对话框中填入工程名【Project name】,【target runtime】选择apache tomcat v5.5,点击【Finish】。

 

   

3.     创建的工程目录结构如下:

    

 

4.     选择【Java Resources:src】,右击选择【new】->【Class】,弹出新建类对话框,创建服务类com/Test.java。

 

   

5.     为Test.java添加方法sayHello。

  

 

6.     选择【Test.java】右击弹出菜单,选择【web services】->【create web service】

 

    

7.     弹出web service对话框,勾选【Publish the web service】,点击下一步,填入wsdl文件名,勾选sayHello(java.lang.String)方法,点击完成。

 

 

   

  

   


8.     启动tomcat服务器。

  

  

9.     测试web服务。打开浏览器,在地址栏中输入:http://localhost:8080/mywstest/services/Test ,看到的响应内容如下:

 

  

 

 

10.  web service工程的创建和发布大功告成!

     

 

五.Web service客户端测试程序开发

1.     运行Eclipse WTP工具,选择菜单【File】->【new】->【project】 弹出new project对话框

   

   

 

 

 

 

选择【Dynamic Web Project】点击下一步

2.     在new Dynamic Web Project对话框中填入工程名【Project name】,【target runtime】选择apache tomcat v5.5,点击【Finish】。

 

   

   

3.     选择工程【client】右击弹出菜单,选择【New】->【Other】

 

    

4.     在New对话框中选择【Web Service Client】,点击下一步。

 

   

5.     在【Web Service Client】对话框中点击【Browse】选择server工程中的wsdl文件,点击ok返回到【Web Service Client】对话框。将对话框中的图像左侧的拉杆拉到顶端,使图像顶部文本显示为【Test client】,然后点击下一步、下一步。

 

  

 

 

 

 

 

   


   

    

   

 

点击【start server】启动web服务器,然后点击下一步。

 

   

 

 

 

在对话框中勾选方法getString(java.lang.String),点击完成。

 

    

    

 

 

6.     创建的client工程目录结构如下:

  

 

 

 

7.     打开IE浏览器,在地址栏中输入:http://localhost:8080/client/sampleTestProxy/TestClient.jsp,显示页面内容如下:

   

 

 

8.     测试web服务。在浏览器中输入字符串“chinapnr”,返回结果“hello chinapnr”,测试成功。

 

     

 

 

      Web Service 目前主要框架是Apache 的 CFX和 AXIS, 但AXIS可以在java, C, C++语言下使用. Eclipse IDE

      只支持XFIRE( CFX的前身 ), 不支持AXIS;所以我用Eclipse WTP工具在Tomcat server下生成 Web  Service的服务端配置文件,然后import到MyEclipse下的web应用程序中,即可实现在MyEclipse下应用AXIS框架的Web  Service了.

   具体移植步骤如下:

 

   1 将web service 服务端的/WebContent/WEB-INFO/lib下的jar包copy到MyEclipse下的web应用程序   的 /WebRoot/WEB-INFO/lib下(注意commons-logging.jar不要覆盖),/WebContent/wsdl目录, /WebContent/WEB-INFO/server-config.wsdd和web.xml中的servlet配置 copy到MyEclipse的/WebRoot下的对应位置;

 

   2 将web service 服务端的对外发布的类(包含类所属的包)copy到MyEclipse工程的相应位置.

 

   3 如果什么时候发现在Tomcat下用的好好的,但是放到weblogic下就出了问题,那么多半在\WEB-INF\weblogic.xml添上下面的设置就会好的,否则会报错:

org.apache.axis.transport.http.AdminServlet' doesn't have a default constructor

 

 

需在weblogic.xml添加的配置:

 <container-descriptor>
     <prefer-web-inf-classes>true</prefer-web-inf-classes>
 </container-descriptor>

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics