如何用XFire在Web应用中搭建WebService

1、 新建一个Web项目(无需做任何处理)
2、 添加XFire所需要的jar文件
3、 配置web.xml详情见我的空间日志
4、 创建XFire框架的发布文件services.xml,创建目录在class文件夹下:
WEB-INF\classes\META-INF\xfire\services.xml
5、 src创建接口和接口实现类
6、 修改services.xml,发布服务
注意: 如果Web应用用到Spring框架,需要引入xbean-spring.jar
Unrecognized xbean element mapping: services in namespace :
http://xfire.codehaus.org/config/1.0 此问题的解决办法是:
services.xml文件中:

<beans xmlns="http://xfire.codehaus.org/config/1.0" >
    <service>
        </servie>
    </bean>

改为

<beans >
    <service xmlns="http://xfire.codehaus.org/config/1.0">
        </servie>
    </bean>

在往项目中添加XFire时,出现如下报错:
org.xml.sax.SAXParseException: Document root element “beans”, must match DOCTYPE root “null”.
原因:
XFire 1.2 Core Libraries中spring-1.2.6.jar与项目中的spring2冲突.
解决:
MyEclipse6.5中
Window->Preferences->MyEclipse Enterprise Workbench->Project Capabilites->Web Services - XFire
选择spring-1.2.6.jar->Remove->OK
方法二:
同样可以对一个普通的Web Project项目添加XFire框架,方法为,右键项目名>Myeclipse>Add XFire Web Service Capabilities,即可让这个项目具备XFire Project的功能。
用XFire整合Spring WebService时常见异常
1、 Provider com.bea.xml.stream.MXParserFactory not found 原因是缺少jar包wstx-asi.jar和stax-api.jar
2、 java.lang.NoClassDefFoundError: javax/wsdl/WSDLException0 原因是缺少wsdl4j.jar
3、 访问wsdl时Servlet XFireServlet is currently unavailable (xfire报错)原因是缺少xbean-spring.jar
4、 java.lang.ClassNotFoundException:org.apache.commons.fileupload.FileItemFactory原因是缺少commons-fileupload-1.2.1.jar
5、 Spring1.x中

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  xsi:schemaLocation="http://www.springframework.org/schema/beans  
  http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">  
</beans>

Beans中不允许有属性,应该为

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " http://www.springframework.org/dtd/spring-beans.dtd">  
<beans></beans> 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值