Xfire + JDK1.5 + MyEclipse + Tomcat 构建webservice服务

来源:互联网 发布:淘宝 极有家 编辑:程序博客网 时间:2024/06/09 14:07

有感于在惠普面试后,感觉给大家写一篇关于webservice服务搭建的文章很有必要了,下面本人就根据自己的知识和对webservice的理解,粗浅的写了这篇博文,希望能帮到想学习这项技术的同学们。如有问题,欢迎邮件我。

                                    author : 何泽江    <mailto :  hezj@china.kjlink.com />

1、创建thirdSync Web工程

1.1、File-New在出现的菜单中选择“Web Project”,在打开的对话框中的“Project Name”输入框中输入工程名称“thirdSync”,点击“Finish”完成。

2、导入工程所需Jar包

2.1、Service所需jar

   xfire-all-1.2.6.jar
   xfire-jsr181-api-1.0-M1.jar
   spring.jar
   xbean-spring-2.8.jar
   jdom.jar
   activation.jar

2.2、Client所需jar

   commons-httpclient-3.0.jar
   commons-codec-1.3.jar
   stax-api-1.0.1.jar
   stax-utils-20040917.jar
   wstx-asl-3.2.0.jar

2.3、Junit4所需jar

    junit.jar

3、编写业务代码

  源代码如下所示:

Webservice接口

Java代码
  1. package com.webservice;   
  2.   
  3. public interface IThirdPartyService {      
  4.    public int test(int a ,int b);   
  5. }  

Webservice接口实现类
Java代码
  1. package com.webservice;   
  2.   
  3. public class ThirdPartyService implements IThirdPartyService {     
  4.   
  5.     /**  
  6.      * Xfire测试用例  
  7.      */  
  8.     public int test(int a, int b) {   
  9.         return a + b;   
  10.     }   
  11.   
  12. }  

Junit测试用例
Java代码
  1. package com.test;   
  2.   
  3. import java.net.MalformedURLException;   
  4.   
  5. import org.codehaus.xfire.XFire;   
  6. import org.codehaus.xfire.XFireFactory;   
  7. import org.codehaus.xfire.client.XFireProxyFactory;   
  8. import org.codehaus.xfire.service.Service;   
  9. import org.codehaus.xfire.service.binding.ObjectServiceFactory;   
  10. import org.junit.Ignore;   
  11. import org.junit.Test;   
  12.   
  13. import com.webservice.IThirdPartyService;   
  14.   
  15. public class TestThirdPartyService {      
  16.   
  17. //  @Ignore   
  18.     @Test  
  19.     // Xfire测试用例   
  20.     public void test() {   
  21.         IThirdPartyService client = null;   
  22.         try {   
  23.             Service serviceModel = new ObjectServiceFactory()   
  24.                     .create(IThirdPartyService.class);   
  25.             XFire xfire = XFireFactory.newInstance().getXFire();   
  26.             XFireProxyFactory factory = new XFireProxyFactory(xfire);   
  27.             String serviceUrl = "http://192.168.0.156/thirdSync/service/ThirdPartyService";   
  28.             client = (IThirdPartyService) factory.create(serviceModel,   
  29.                     serviceUrl);   
  30.             System.out.println("返回值是" + client.test(1212));   
  31.         } catch (MalformedURLException e) {   
  32.             e.printStackTrace();   
  33.         }   
  34.     }   
  35. }  

4、编写配置文件

4.1、services.xml

     在classes目录(即:src目录)下建立META-INF\xfire目录,在该目录下建立services.xml文件。

services.xml文件内容如下:
Java代码
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <beans>     
  3.     <service xmlns="http://xfire.codehaus.org/config/1.0">    
  4.         <name>ThirdPartyService</name>     
  5.         <namespace>http://ThirdSync/webservice/TestService</namespace>  
  6.         <serviceClass>com.webservice.IThirdPartyService</serviceClass>     
  7.         <implementationClass>com.webservice.ThirdPartyService</implementationClass>       
  8.     </service>     
  9. </beans>    


4.2、web.xml

web.xml文件内容如下:
Java代码
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <web-app version="2.4"    
  3.     xmlns="http://java.sun.com/xml/ns/j2ee"    
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   
  6.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">      
  7.   <servlet>   
  8.       <servlet-name>XFireServlet</servlet-name>   
  9.       <servlet-class>   
  10.            org.codehaus.xfire.transport.http.XFireConfigurableServlet   
  11.       </servlet-class>   
  12.   </servlet>     
  13.   <servlet-mapping>   
  14.       <servlet-name>XFireServlet</servlet-name>   
  15.       <url-pattern>/servlet/XFireServlet/*</url-pattern>   
  16.   </servlet-mapping>   
  17.   <servlet-mapping>   
  18.       <servlet-name>XFireServlet</servlet-name>   
  19.       <url-pattern>/service/*</url-pattern>   
  20.   </servlet-mapping>   
  21.   <welcome-file-list>   
  22.     <welcome-file>index.jsp</welcome-file>   
  23.   </welcome-file-list>   
  24. </web-app>  

5、发布工程

5.1、发布工程

      这个很简单,我就不必说了吧。

注意:我机器的tomcat的端口为80,Ip:192.168.0.156,那么访问地址就是http://192.168.0.156/thirdSync/service/ThirdPartyService?wsdl,如果可以正常显示发布文件,则证明Webservice发布成功。

原创粉丝点击