您的位置:首页 > 编程语言 > Java开发

CXF webservice整合spring 小例子

2016-11-08 15:32 369 查看
下载apache-cxf-3.1.8,创建java web项目,将cxf包的lib下的所有jar包放到项目中,并去掉下图的几个包:



如果你保留了而且没有报错,那么恭喜你。

将下载的cxf包的samples\java_first_spring_support下的文件夹直接复制到自己创建的项目,如图:



java文件夹的内容是服务端和客户端代码,resources中是spring配置文件,webapp中是web.xml和cxf-servlet.xml,



如图,我 将java文件夹中的内容直接放到src下,将resources中的client-beans.xml拿出来放在src下了,

把web.xml和cxf-servlet.xml放到WEB-INF下了。 后来我将cxf-servlet.xml去掉也一样运行。

启动服务的Server.java按照案例中的代码总是报错,应该少包,所以我就换成下面这样:

protected Server() throws Exception {

        System.out.println("Starting Server");

        JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();  

        // 注册WebService接口  

        factory.setServiceClass(HelloWorld.class);  

        // 发布接口  

        factory.setAddress("http://localhost:9002/HelloWorld");

        factory.setServiceBean(new HelloWorldImpl());  

        // factory.getInInterceptors().add(new LoggingInInterceptor());  

        // factory.getOutInterceptors().add(new LoggingOutInterceptor());  

        // 创建WebService  

        factory.create();  

    }

    public static void main(String args[]) throws Exception {

        new Server();

    }

其他都不用变了,只要将配置文件中的路径改成你项目中正确的路径即可。

先执行Server.java启动服务,再执行Client.java,输出:



总结:使用spring的地方就是将服务和客户端都配置到spring配置文件中,目前只领会这一点,至于cxf-servlet.xml

还不知道有什么用,因为有没有都不会报错。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: