转载

再谈用CXF框架开发WebService服务(4.1)

本周由于北京多天雾霾和沙尘天气,已经一周的实际只跑步了3次,总体里程在15km,比上周在深圳的时候有明显的下降,今年自己调整比较好的地方就减少跑步强迫症,天气太差的时候一定不要出去跑步,这样反而适得其反。另外最近由于饮食没怎么节制,主要是高油,高热量的食物摄入太多,在这1到2周时间增加了至少1kg的体重,看来还算得注意。

在17.7.18日,当时写过一篇用CXF框架开发WebService服务的文章

地址: http://blog.sina.com.cn/s/blog_493a84550102wx7e.html

这里面有一些重点,再次做一些小的强调。首先就是我们采用的是WSDL接口契约先行的服务开发方法,因此用 wsdl2java -impl -server 来生成相应的服务代理Java类文件。

首先是创建一一个空白的WebProject工程项目,然后把生成的Java类文件全部导入进入,同时需要手工将wsdl和xsd接口契约文件也加入到工程项目里面,一般加入到META-INF目录下面。在文件导入到工程项目后,要注意检查Libary库中已经增加了对CXF框架库的引用。

注意默认生成的web project项目里面的web.xml文件不是自己用spring配置的,因此这里要全部进行修改,同时增加一个Beans.xml文件作为上下文参数详细定义,配置相应的spring监听,配置cxf框架的详细serverlet配置信息等。具体的Spring配置文件详细说明可以参考这篇文章:

https://www.cnblogs.com/whatlonelytear/p/5848531.html

对于beans.xml文件内容如下,beans.xml文件核心就是完成Spring框架和CXF的集成,后续需要发布WS接口服务的时候只需要在这个文件里面增加endpoint配置即可:

再谈用CXF框架开发WebService服务(4.1)

注意这里面关键两个信息要修改,一个是implementor要修改为你代码的里面的接口实现类的具体命名空间和类名信息,其次是wsdlLocation修改为你自己工程项目里面wsdl文件的相对路径地址信息。前面已经讲到过,对于拷贝进来的源代码,找到Impl结尾的Java实现类,将实现类注解上的wsdlLocation这行先删除。这样确保最终发布出来的wsdl地址和当初给出的wsdl契约文件是完全一致的。

从web.xml文件可以看到实际的地址入口信息是/services/*,因此如果你们的工程项目名称是TestWsdl,由于CXF框架已经和Spring做了集成配置。因此在最终运行工程的时候通过:

http://localhost:8080/TestWsdl/services 就可以访问到完整的发布的WS接口地址信息。

可以看到整个用CXF框架来开发WebService接口服务的过程相对简单,最重要的还是web.xml和Beans.xml两个配置文件的编写,已经理解CXF框架和Spring集成的基本原理,这些将有助于你进一步的理解Sring框架。

原文  http://blog.sina.com.cn/s/blog_493a84550102xb4h.html
正文到此结束
Loading...