配置:
<beans>
<import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
<bean id="webAnnotations"
class="org.codehaus.xfire.annotations.jsr181.Jsr181WebAnnotations" lazy-init="false"/>
<bean id="handlerMapping"
class="org.codehaus.xfire.spring.remoting.Jsr181HandlerMapping" lazy-init="false">
<property name="typeMappingRegistry">
<ref bean="xfire.typeMappingRegistry" />
</property>
<property name="xfire">
<ref bean="xfire" />
</property>
<property name="webAnnotations">
<ref bean="webAnnotations" />
</property>
</bean>
<bean id="annotatedOrder" class="com.zhouxf.test.query.QueryImpl" />
<bean
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<entry key="/">
<ref bean="handlerMapping" />
</entry>
</map>
</property>
</bean>
</beans>
Query.aegis.xml:
<?xml version="1.0" encoding="UTF-8"?>
<mappings>
<mapping>
<method name="checkStatus">
<parameter index="0" componentType="com.test.api.test.query.Input"/>
<return-type componentType="com.test.api.test.query.Output"/>
</method>
</mapping>
</mappings>
异常:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'handlerMapping' defined in ServletContext resource [/WEB-INF/xfiretest-servlet.xml]: Initialization of bean failed; nested exception is org.codehaus.xfire.XFireRuntimeException: Error initializing parameters for method public abstract com.test.api.test.query.Output (com.test.api.test.query.Input): Error evaluating xpath /mappings/mapping[@uri='http://api.test.com/test']. Nested exception is org.jdom.JDOMException: java.lang.NoClassDefFoundError: org/jdom/Text: org/jdom/Text
Caused by:
org.codehaus.xfire.XFireRuntimeException: Error initializing parameters for method public abstract com.test.api.test.query.Output(com.test.api.test.query.Input): Error evaluating xpath /mappings/mapping[@uri='http://api.test.com/test']. Nested exception is org.jdom.JDOMException: java.lang.NoClassDefFoundError: org/jdom/Text: org/jdom/Text
org.jdom.JDOMException: java.lang.NoClassDefFoundError: org/jdom/Text: org/jdom/Text
at org.jdom.xpath.XPath.newInstance(XPath.java:139)
at org.codehaus.xfire.aegis.XMLClassMetaInfoManager.getMatch(XMLClassMetaInfoManager.java:80)
at org.codehaus.xfire.aegis.XMLClassMetaInfoManager.findMapping(XMLClassMetaInfoManager.java:67)
at org.codehaus.xfire.aegis.type.XMLTypeCreator.findMapping(XMLTypeCreator.java:142)
at org.codehaus.xfire.aegis.type.XMLTypeCreator.createClassInfo(XMLTypeCreator.java:239)
at org.codehaus.xfire.aegis.type.AbstractTypeCreator.createType(AbstractTypeCreator.java:353)
at org.codehaus.xfire.aegis.AegisBindingProvider.getParameterType(AegisBindingProvider.java:290)
at org.codehaus.xfire.aegis.AegisBindingProvider.initializeMessage(AegisBindingProvider.java:145)
at org.codehaus.xfire.service.binding.AbstractBindingProvider.initialize(AbstractBindingProvider.java:30)
at org.codehaus.xfire.aegis.AegisBindingProvider.initialize(AegisBindingProvider.java:133)
at org.codehaus.xfire.service.binding.ObjectServiceFactory.create(ObjectServiceFactory.java:469)
at org.codehaus.xfire.annotations.AnnotationServiceFactory.create(AnnotationServiceFactory.java:277)
at org.codehaus.xfire.service.binding.ObjectServiceFactory.create(ObjectServiceFactory.java:374)
at org.codehaus.xfire.service.binding.ObjectServiceFactory.create(ObjectServiceFactory.java:355)
at org.codehaus.xfire.spring.remoting.Jsr181HandlerMapping.processBeans(Jsr181HandlerMapping.java:134)
at org.codehaus.xfire.spring.remoting.Jsr181HandlerMapping.initApplicationContext(Jsr181HandlerMapping.java:65)
at org.springframework.context.support.ApplicationObjectSupport.setApplicationContext(ApplicationObjectSupport.java:73)
at org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:86)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization
项目中已经包含了,还有jaxen-1.1.jar,jaxb-api-2.0.jar,jdom-1.0.jar等包。
--------------------------------------
问题已经解决:
由于jboss里面有一个jaxen包,造成了冲突,同时在jboss里加入jdom包,一切正常了!
分享到:
相关推荐
此外,还可以了解到XML绑定、SOAP消息构造和解构、异常处理以及服务的安全性和性能优化等高级话题。 总之,xfire和axis是Java Web服务领域中的重要工具,对于理解和实践服务化架构有着深远的意义。这个"xfire接口...
8. **异常处理和安全性**: 了解如何在Xfire中处理异常,以及如何通过添加安全层(如SSL加密或WS-Security)来保护你的Web Service。 9. **与Spring集成**: 如果你的项目基于Spring框架,你将学习如何将Xfire服务...
书中深入探讨了服务生命周期管理,讲解了如何启动、停止、暂停和恢复服务,以及如何处理服务异常。 其次,XFire对SOAP协议的支持是其一大亮点。书中阐述了如何使用XFire构建SOAP Web服务,包括WSDL的生成、服务绑定...
在IT行业中,Web服务是一种广泛使用的技术,它允许不同的应用程序之间进行通信和数据交换。...在实际项目中,我们还可以通过扩展XFire的功能,如添加数据验证、异常处理、安全控制等,来进一步完善服务的实现。
2. **部署和启动服务** - 将服务端代码打包成WAR文件,部署到支持Servlet的服务器(如Tomcat)上。 - 配置服务器以识别和加载XFire Servlet,确保服务器能够处理来自Web服务的请求。 3. **创建WebService客户端**...
通过理解和熟练运用这个库,开发者可以快速构建健壮、高效的Web服务,同时享受到XFire提供的各种高级特性,如自动WSDL生成、异常处理和强大的数据绑定支持。在实际项目中,确保正确配置和使用XFire库,将极大地提高...
4. **运行服务**:根据指南启动Web服务,通常是通过Java应用程序或者部署到应用服务器。 5. **测试服务**:运行客户端代码,检查服务是否正常工作。如果有任何异常,可以根据错误信息进行调试。 6. **尝试修改**:对...
例如,如果遇到服务启动失败的异常,查看源码可以帮助确定是哪个模块或函数导致的问题。 3. **工具的使用** “工具”标签提示我们,博主可能推荐了一些用于诊断和解决问题的实用工具。这可能包括日志分析工具、...
5. **启动服务**:运行 XFire 容器,启动 WebService。 调用 WebService 也很简单,通常有两种方式: 1. **动态客户端**:XFire 提供的工具可以生成客户端代理类,你只需要传入 WSDL 地址,就可以直接调用服务方法...
5. **启动服务**:使用XFire的Server类启动服务,使其监听特定端口,等待客户端请求。 6. **客户端调用**:在客户端代码中,创建XFire的Client实例,通过服务地址获取服务代理,然后通过代理调用`sendSms`方法发送...
9. **异常处理**:XFire将Java异常映射到SOAP faults,使得错误信息可以在Web服务调用链中传递。 10. **安全性**:虽然XFire 1.2.6不包含Xalan,但它支持WS-Security标准,可以实现基于SOAP消息的安全认证和加密。 ...
启动你的SSH应用,XFire会自动发布你的Web服务。你可以通过SOAP或XML-RPC客户端来调用这个服务。 通过以上步骤,你就可以在SSH环境下成功地使用XFire创建并部署Web服务。在实际开发中,可能还需要考虑安全性、异常...
2. **部署Web服务**:一旦接口定义完成,XFire提供了简单的API或XML配置来启动服务。在Tomcat这样的Servlet容器中,可以将XFire的Servlet部署到web.xml中,然后在启动Tomcat时,Web服务就会自动暴露出来。 3. **...
XFire的核心特性包括XML绑定、协议支持(如SOAP、REST)、WS-*标准实现以及强大的异常处理机制。它使用StAX(Streaming API for XML)进行高效的XML解析,确保了服务的高性能。而Spring框架以其松耦合、可测试性和...
web.xml则配置了与XFIRE相关的servlet,包括servlet的名称、类以及启动顺序等。 异常情况处理: 虽然资料未直接提及异常处理方法,但从一般Web服务框架的角度来考虑,应对异常情况的处理通常包括但不限于:合理设计...
这包括添加依赖库、设置环境变量以及配置服务器端的启动脚本。 7. **创建WebService**:使用XFire,开发者可以使用简单的Java类和注解来定义服务接口和实现。XFire会自动为这些接口生成WSDL文件,使得其他应用能够...
1.5 启动服务器:发布完成后,启动Tomcat或其他应用服务器,确保Web服务运行正常。 1.6 获取WSDL:通过浏览器访问 `http://localhost:8080/HelloWS/services/HelloService?wsdl`,可以获取到服务的WSDL(Web ...
5. **强大的错误处理**:XFire提供了一套完整的异常处理机制,可以轻松处理服务调用过程中的错误。 在XFire中创建一个Web Service实例,首先需要定义一个Java接口或类,该接口或类代表要暴露的服务。接着,使用...
4. **启动服务**:运行应用服务器或通过嵌入式模式启动xFire服务器。 #### 五、调用Web服务 1. **生成客户端代理类**:使用WSDL生成工具自动生成客户端代理类。 2. **初始化客户端**:创建客户端实例并设置必要的...
这将告诉 Tomcat 如何启动 XFire 并处理服务请求。 ### 9. 发布服务端 启动 Tomcat 服务器,通过浏览器访问 `http://localhost:8080/HelloWorld/services/HelloWorld?wsdl` 来测试服务是否发布成功。如果显示 WSDL ...