Spring与CXF整合

1. Eclipse工具New 选择Dynamic Web Project


点击下一步,注意勾选xml文件生成选项


在src中建立包com.itheima.webservice 可以看到项目的文件层级如下图


2. 创建最简单的HelloWorld接口

package com.itheima.webserver;

import javax.jws.WebService;

@WebService
public interface HelloWorld {
	public String say(String name);
}

3 创建HelloWorld的实现类

package com.itheima.webservice;

import javax.jws.WebService;

@WebService
public class HelloWorldImpl implements HelloWorld {

	@Override
	public String say(String name) {
		// TODO Auto-generated method stub
		return "Hello " + name;
	}
}

4. 将spring和cxf的相关jar文件拷入WEB-INF/lib目录中

5. 在WEF-INF目录下创建content.xml (Spring 的WebService注册文件,没有Spring插件的可以参见我的另外一篇文章安装Spring插件)


勾选对应的命名空间,Spring记得勾选对应的版本

在content.xml中注册WebService服务

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:jaxws="http://cxf.apache.org/jaxws"
	xmlns:core="http://cxf.apache.org/core"
	xmlns:jaxrs="http://cxf.apache.org/jaxrs"
	xsi:schemaLocation="http://cxf.apache.org/jaxws 
		http://cxf.apache.org/schemas/jaxws.xsd
		http://cxf.apache.org/core 
		http://cxf.apache.org/schemas/core.xsd
		http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
		http://cxf.apache.org/jaxrs 
		http://cxf.apache.org/schemas/jaxrs-common.xsd">
	
	<!-- 注册WebService服务 -->
	<jaxws:server id="hello" address="/Hello" serviceClass="com.itheima.webservice.HelloWorld">
		<jaxws:serviceBean>
			<bean class="com.itheima.webservice.HelloWorldImpl"></bean>
		</jaxws:serviceBean>
	</jaxws:server>

</beans>
6. 配置web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
	id="WebApp_ID" version="3.1">
	<display-name>Web</display-name>

	<!-- needed for ContextLoaderListener -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/content.xml</param-value>
	</context-param>

	<!-- Bootstraps the root web application context before servlet initialization -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

	<servlet>
		<servlet-name>cxf</servlet-name>
		<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>cxf</servlet-name>
		
		<!-- WebService的相对的路径 -->
		<url-pattern>/*</url-pattern>
	</servlet-mapping>


	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
</web-app>
7. 发布网站WebService


在这里选择的是Tomcat 8环境


把Web项目双击,放置右边窗口进行发布

点击Finish后完成Web的部署,Web服务器处于Stopped停止状态,双击这里再次进行配置,下面子目录webapps作为发布目录


选择Use Tomcat installation 使用tomcat安装目录作为部署的目录


启动服务


打开浏览器输入Webservice的WSDL地址 http://127.0.0.1:8090/Web/Hello?wsdl 可以看到Webservice服务描述文件


以下通过建立一个Java工程进行WebService的测试

创建工程Web_Test 建立包com.itheima.test 

打开cmd窗口,使用wsimport依据wsdl文件生成本地的java类

可以看到运行结果


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值