首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

WebService CXF - 创设基础的示例

2012-12-18 
WebService CXF --- 创建基础的示例1、开发环境:???????????? cxf-2.3.3.jar???????????? MyEclipse6.6????

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,证明接口发布成功。

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

?

热点排行