当前位置 : 主页 > 网页制作 > Nodejs >

CXF webservice整合spring 小例子

来源:互联网 收集:自由互联 发布时间:2021-06-24
下载apache-cxf-3.1.8,创建java web项目,将cxf包的lib下的所有jar包放到项目中,并去掉下图的几个包: 如果你保留了而且没有报错,那么恭喜你。 将下载的cxf包的samples\java_first_spring_suppo

下载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

还不知道有什么用,因为有没有都不会报错。

网友评论