基于web的cxf的第一种发布方式——简单发布

本文详细介绍了一种基于Web的Apache CXF发布方式,包括所需jar包导入、web.xml配置、HelloService服务实现、cxf-servlet.xml设置及Tomcat部署步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前面所介绍的cxf发布方式都只给予javase的,以下是基于web的cxf的发布方式的第一种——简单发布


1、导包

      新建一个webproject,然后导入cxf的基本jar包(共67个)

2、web.xml

    在web.xml中加上以下代码

    
<!-- 配置CXF的核心Servlet -->
	<servlet>
		<servlet-name>cxf</servlet-name>
		<!-- 如果名字太长记不住的话,可以通过新建一个类,然后继承的方式来获得类全名 -->
		<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
	</servlet>
	
	
	<servlet-mapping>
		<servlet-name>cxf</servlet-name>
		<url-pattern>/cxf/*</url-pattern>
	</servlet-mapping>

3、HelloService

package com.njupt.cxf;

import java.text.SimpleDateFormat;
import java.util.Date;

import javax.jws.WebService;
import javax.xml.ws.BindingType;
import javax.xml.ws.soap.SOAPBinding;

@WebService//如果不加,则看不到对外提供方法
@BindingType(value=SOAPBinding.SOAP12HTTP_BINDING)//将soap1.1协议改成soap1.2协议
public class HelloService {

	public String sayHello(String name){
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
		
		return sdf.format(new Date()) + " hello " + name;
	}
}


4、cxf-servlet.xml

 在web-inf下新建一个file,名为cxf-servlet.xml,其代码如下:

  

<?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:jaxrs="http://cxf.apache.org/jaxrs" xmlns:cxf="http://cxf.apache.org/core"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
          	http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
            http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
            http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd">
	<!-- 引入CXF Bean定义如下,早期的版本中使用 -->
	<import resource="classpath:META-INF/cxf/cxf.xml" />
	<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
	<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />


    <!-- 第一种发布方式:简单发布(没有接口的发布) -->
	<!-- id:唯一标示  implementor:提供服务的类 address:服务的请求url--> 
    <jaxws:endpoint id="helloService" implementor="com.njupt.cxf.HelloService"  address="/hello">
         
         <!-- 加入请求的消息拦截器 -->
         <jaxws:inInterceptors>
         
            <!-- 如果名字太长记不住的话,可以通过新建一个类,然后继承的方式来找到类的全名 -->
            <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"></bean>
         </jaxws:inInterceptors>
         
         <!-- 加入响应的消息拦截器 -->
         <jaxws:outInterceptors>
            <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"></bean>
         </jaxws:outInterceptors>
         
    </jaxws:endpoint> 
</beans>	

5、将项目部署到tomcat中

6、在地址栏中输入http://localhost:8080/CXF_3/cxf/hello?wsdl进行测试。(如果记不住,输入http://localhost:8080/CXF_3/cxf即可,  然后按照提示一步一步的往下做)


7、如果需要调用,参考前面的调用方式即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅气的东哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值