`

WebService CXF --- 创建基础的示例

阅读更多

1、开发环境:

             cxf-2.3.3.jar

             MyEclipse6.6

             JDK1.5

             Tomcat-5.5.27

2、  理论联系实际,现用一个 Demo来说明事更加直观。

       新建一个WebService Project,导入cxf常用.jar包。

       第一步:新建一个webservice接口, 接口IHelloService.java

     

package demo.cxf.server;

import javax.jws.WebParam;
import javax.jws.WebService;

@WebService
//通过注解@WebService申明为webservice接口 
public interface IHelloService {
    //@WebParam给参数命名,提高可代码可读性
    public String sayHello(@WebParam(name="text")String text);
}

 

                

  第二步,实现WebService接口  实现类HelloServiceImpl.java

  

package demo.cxf.server;

import javax.jws.WebService;

@WebService(endpointInterface="demo.cxf.server.IHelloService",serviceName="helloService")
public class IHelloServiceImpl implements IHelloService {
    
    public String sayHello(String text) {
        return "Hello ".concat(text);
    }

}

   

 第三步,创建服务端

 

public class DeployServer {  
  
private DeployServer(){  
    IHelloService helloService = new HelloServiceImpl();  
    //创建WebService服务工厂  
    JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();  
    //注册WebService接口  
    factory.setServiceClass(IHelloService.class);  
    //发布接口  
    factory.setAddress("http://localhost:9000/HelloService");  
      factory.setServiceBean(helloService);  
    //创建WebService  
      factory.create();  
};  
  
public static void main(String[] args) throws InterruptedException{  
       //启动服务端  
      new DeployServer();  
        System.out.println("Server ready...");  
    //休眠一分钟,便于测试  
     Thread.sleep(1000*60);  
        System.out.println("Server exit...");  
        System.exit(0);  
  }  
}  

 

  第四步,创建客户端

  

  

public class Client {  
  
private Client(){};  
  
public static void main(String[] args){  
    //创建WebService客户端代理工厂  
    JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();  
    //注册WebService接口  
    factory.setServiceClass(IHelloService.class);  
    //设置WebService地址  
    factory.setAddress("http://localhost:8080/HelloService");       
      IHelloService iHelloService = (IHelloService)factory.create();  
      System.out.println("invoke webservice...");  
      System.out.println("message context is:"+iHelloService.sayHi("    
                 Josen"));  
      System.exit(0);  
  }  
} 

 

    现在是万事俱备,只欠测试了
    首先,运行服务端程序
    其次,打开浏览器,在地址栏中输入http://localhost:8080/HelloService?wsdl(因为cxf自带了一个jetty服务器),查看接口是否发布成功,如里浏览器页面显示一些XML,证明接口发布成功。

   最后,运行客户端程序,就可以看到效果了。 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics