CXF部署到tomcat(不结合spring)

新建web工程引入cxf包,笔者使用的是cxf2.7.7版本,以下是必须jar架包

此处不带jetty和spring的依赖包。出现Cannot create a secure XMLInputFactory异常提示时通常是少了woodstox-core-asl-4.2.0.jar或stax2-api这两个包,少这两个包服务能够启动成功,但客户端连接web service时就出现错误提示了。加入后可能还需要重启下eclipse(反正我是重启后才解决的~_~)

1. cxf要部署到tomcat需要借助cxf的CXFNonSpringServlet类,继承该类代码示例如下:

public class CxfPublishServlet extends CXFNonSpringServlet
{
	private static final long serialVersionUID = 1L;
	
	@Override
	public void loadBus(ServletConfig sc)
	{
	    super.loadBus(sc);
	    Bus bus = getBus();
	    BusFactory.setDefaultBus(bus);
	    Endpoint.publish("/queryuser",new QueryUserImpl());//此时的服务地址已经变成http://你的应用地址/queryuser
	}
}

2.在web.xml中加入配置
 <servlet>
  <description>publsh web serivces</description>
  <display-name>CxfPublishServlet</display-name>
  <servlet-name>CxfPublishServlet</servlet-name>
  <servlet-class>net.itfad.beans.CxfPublishServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>CxfPublishServlet</servlet-name>
  <url-pattern>/*</url-pattern>
 </servlet-mapping>
启动tomcat一切就OK了。
注意load-on-startup
另外,servlet配置的路径比如改为/ws/*,此时loadBus中服务url不变,仍然是正确访问。而如果url改为/ws/queryuser将不能访问。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值