基于xfire+spring+maven构建webservice服务器和客户端

xfire+spring+maven构建webservice服务器和客户端

本人由于最近项目需要设计一个webservice相关接口,虽然这种接口方式已经逐渐被restful接口取代,但有时候也是需要用到的。这不我之前一直用restful接口,现在就被安排了一个webservice接口,自己顺带着又学习了一把。
  1. 首先要搭建一个web项目用来开发webservice服务端,我们采用maven项目来搭建,方便jar包管理:
    先上pom.xml文件:

 4.0.0
 com.ljj
 xfireServer
 war
 0.0.1-SNAPSHOT
 xfireServer Maven Webapp
 http://maven.apache.org
 
   
     junit
     junit
     3.8.1
     test
   
   
       org.codehaus.xfire
       xfire-core
       1.2.5
    
   
       org.codehaus.xfire
       xfire-spring
       1.2.6
    
     
     org.springframework  
     spring-web  
     3.2.8.RELEASE  
     
 
 
   xfireServer
 

这里需要引入xfire与spring的相关jar包。

  1. 接下来需要配置web.xml文件



 Archetype Created Web Application
 
         org.springframework.web.context.ContextLoaderListener
   
   
       contextConfigLocation
       classpath:spring/*.xml
   
   
      
     xfire  
       
      org.codehaus.xfire.spring.XFireSpringServlet  
       
      
      
     xfire  
     /service/*  
      

需要配置spring上下文监听器和xfire的servert配置
3.接下来需要开发对应的service方法类了,例如:
接口类:

package com.ljj.service;

public interface BookService {
  public String getBook(String xml);
}

接口实现类:

package com.ljj.serviceimpl;

import com.ljj.service.BookService;

public class BookServiceImpl implements BookService {

  public String getBook(String xml) {
    return xml;
  }

}

4.业务处理service类写完之后,就需要配置xfire与service之前的关联了
新建applicationContext.xml文件




    
        
     
          
      
           
       
          
         
      
       
         
          
      
           
        
          
       

5.到这里webservice服务端基本完成,需要简单测试一下:
启动服务后在浏览器访问:http://localhost:8080/xfireServer/service/BookService?wsdl看到如下页面即为成功





















 


 



 
 




















6.编写测试客户端——同样适用maven项目,采用动态访问方式:
pom.xml文件


  4.0.0

  com.ljj
  xfireClient
  0.0.1-SNAPSHOT
  jar

  xfireClient
  http://maven.apache.org

  
    UTF-8
  

  
    
      junit
      junit
      3.8.1
      test
    
    
    org.codehaus.xfire
    xfire-all
    1.2.6
    
  

client测试代码:

package com.ljj.xfireClient;

import java.net.MalformedURLException;
import java.net.URL;
import org.codehaus.xfire.client.Client;

/**
 * Hello world!
 *
 */
public class App {
  public static void main(String[] args) throws MalformedURLException, Exception {
    System.out.println("Hello World!");
    Client client =
        new Client(new URL("http://127.0.0.1:8080/xfireServer/service/BookService?wsdl"));
    Object[] results2 = client.invoke("getBook", new Object[] {"success"});
    System.out.println(results2[0]);
  }
}

7.最后附上程序源码供参考:https://gitee.com/fdwokers/xfireWebservice

你可能感兴趣的:(基于xfire+spring+maven构建webservice服务器和客户端)