身在曹营心在汉的动物:CXF MyEclipse 开发webservice入门实例之HelloWorld

来源:百度文库 编辑:偶看新闻 时间:2024/04/30 05:00:51

CXF+MyEclipse 开发webservice入门实例之HelloWorld

分类: Web Services 2010-08-30 19:59 1475人阅读 评论(4) 收藏 举报

按照CXF的用户文档上的描述,来写一个helloworld的webservice小实例!

 

第一步,新建一个名为“CXF_HelloWorld”的web project,加入如下jar包。

 

另外还需要加入spring的jar包。

 

第二步,配置web.xml,把CXFServlet配置到web.xml中

 

代码如下:

[xhtml] view plaincopy?

  1.     
  2.   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee      
  3.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">    
  4.        
  5.       
  6.     Apache CXF Endpoint    
  7.     cxf    
  8.     cxf    
  9.     org.apache.cxf.transport.servlet.CXFServlet    
  10.     1    
  11.       
  12.       
  13.     cxf    
  14.     /services/*    
  15.       
  16.       
  17.     60    
  18.       
  19.     

 

第三步,编写webservice

 

HelloWorld.java

[java] view plaincopy?

  1. package cxf.server;  
  2.   
  3. import javax.jws.WebMethod;  
  4. import javax.jws.WebParam;  
  5. import javax.jws.WebService;  
  6.   
  7. @WebService  
  8. public interface HelloWorld {  
  9.     @WebMethod  
  10.     public String sayHello(@WebParam String message);  
  11. }  

 

 

 

HelloWorldImpl.java

 

[c-sharp] view plaincopy?

  1. package cxf.server;  
  2.   
  3. public class HelloWorldImpl implements HelloWorld{  
  4.   
  5.     @Override  
  6.     public String sayHello(String message) {  
  7.         // TODO Auto-generated method stub   
  8.         return message;  
  9.     }  
  10.   
  11. }  

 

 

第四步,把编写好的服务部署到cxf-servlet.xml中

 

cxf-servlet.xmls放在web-inf目录下

 

[c-sharp] view plaincopy?

  1.   
  2.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.     xmlns:jaxws="http://cxf.apache.org/jaxws"  
  4.     xmlns:soap="http://cxf.apache.org/bindings/soap"  
  5.     xsi:schemaLocation="     
  6. http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd      
  7. http://cxf.apache.org/bindings/soap http://cxf.apache.org/schemas/configuration/soap.xsd      
  8. http://cxf.apache.org/jaxws      
  9. http://cxf.apache.org/schemas/jaxws.xsd">   
  10.       
  11.           
  12.               
  13.           
  14.       
  15.   

 

第五步,编写客户端调用webservice

 

客户端HelloWorldClient.java

 

[c-sharp] view plaincopy?

  1. package cxf.client;  
  2.   
  3. import org.apache.cxf.interceptor.LoggingInInterceptor;  
  4. import org.apache.cxf.interceptor.LoggingOutInterceptor;  
  5. import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;  
  6.   
  7. import cxf.server.HelloWorld;  
  8.   
  9. public class HelloWorld {     
  10.     public static void main(String[] args) {     
  11.         JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();     
  12.         factory.getInInterceptors().add(new LoggingInInterceptor());     
  13.         factory.getOutInterceptors().add(new LoggingOutInterceptor());     
  14.         factory.setServiceClass(HelloWorld.class);     
  15.         factory.setAddress("http://localhost:8080/CXF_HelloWorld/services/HelloWorld");     
  16.         HelloWorld client = (HelloWorld) factory.create();     
  17.         String reply = client.sayHello("hello world!");     
  18.         System.out.println(reply);     
  19. }    
  20. }  

 

 

第六步,部署,运行

 

把项目部署到tomcat上,启动tomcat,运行HelloWorldClient.java

 

控制台成功输出hello world!