下载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
还不知道有什么用,因为有没有都不会报错。