Eclipse+Maven+Spring+CXF 构建webservice 服务
发布日期:2016-3-1 17:3:37
一、 软件准备 CXF 3.0.2 Eclipse 4.2.1 Maven 2.2.1 Spring 3.2.6 二、 步骤 1. 新建web工程,利用maven管理,如下: 工程名为test,完成以后,项目结构如下图: src/main/java 准备放 java 程序; src/main/resources准备放各类资源文件。 2. 添加代码 1) 定义服务接口 因为只是一个webservice的实验程序,所以很简单,只有一个服务方法: sayHello(),利用 @WebService注解来声明这是一个webservice的接口。 2) 实现服务类 完成java代码添加后的项目结构如下: 3. 添加Spring-CXF 配置 在项目 src/main/webapp/WEB-INF 目录下新建XML定义:cxf-servlet.xml如下: 该定义文件利用spring和CXF的功能,发布一个ID为helloWorld,实现类为com.test.HelloWorldImpl,发布 相对路径为 /HelloWorld(对应绝对目录为: http://host:port/{WebAPPName}/HelloWorld)的 webservice。 因为我们需要用到CXF来做webservice,右键点击项目中的POM.XML,添加apache-cxf依赖。 4. Web应用配置 修改 src/main/webapp/WEB-INF 目录下的web.xml文件 该文件实际上是定义了处理webservice的CXF Servlet的映射关系。 完成步骤3和4以后的工程目录如下: 5. 编译打包 利用maven(package -X)编译打包成test.war (在Eclipse上右击工程名 Run as -> Maven build) 6. 将步骤5生成的test.war部署到tomcat服务器(如阿里云服务器)上 7. 访问测试: 在浏览器上输入:http://localhost:8080/test/,出现如下画面就成功了: 点击WSDL链接: 8. 编写webservice client端代码 1) 首先通过 Spring 与 CXF 的配置来定义 Web Service 的客户端 Bean,在 src\main\resources 目录下创建client-beans.xml 配置文件: 需要注意的是,该配置文件中的 address需要写成发布服务的绝对路径。 2) 编写客户端java代码: HelloWorldClient.java 注意,代码中HelloWorldclient = (HelloWorld)context.getBean("client"); 的client需要与"client-beans.xml"中的 bean id一致才能找到这个服务。 现在的项目结构如下: 3)连接测试 在eclipse中直接按HelloWorldClient运行 Run as -> Java Application: 输出的Hello world! 即是我们发布的HelloWorld的方法 sayHello()的输出!这说明从服务发布到客户端连接都成功了。 原文出自:http://blog.csdn.net/hbsong75/article/details/41207585
|